当前位置: 首页>>代码示例>>Java>>正文


Java CsdlEntityType.setKey方法代码示例

本文整理汇总了Java中org.apache.olingo.commons.api.edm.provider.CsdlEntityType.setKey方法的典型用法代码示例。如果您正苦于以下问题:Java CsdlEntityType.setKey方法的具体用法?Java CsdlEntityType.setKey怎么用?Java CsdlEntityType.setKey使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.olingo.commons.api.edm.provider.CsdlEntityType的用法示例。


在下文中一共展示了CsdlEntityType.setKey方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getEntityType

import org.apache.olingo.commons.api.edm.provider.CsdlEntityType; //导入方法依赖的package包/类
@Override
public CsdlEntityType getEntityType() {

  // create EntityType properties
  CsdlProperty id = new CsdlProperty().setName("CID")
      .setType(EdmPrimitiveTypeKind.Int32.getFullQualifiedName());
  CsdlProperty name = new CsdlProperty().setName("CName")
      .setType(EdmPrimitiveTypeKind.String.getFullQualifiedName());
  CsdlProperty description = new CsdlProperty().setName("CDescription")
      .setType(EdmPrimitiveTypeKind.String.getFullQualifiedName());

  // create CsdlPropertyRef for Key element
  CsdlPropertyRef propertyRef = new CsdlPropertyRef();

  propertyRef.setName("ID");

  // configure EntityType
  CsdlEntityType entityType = new CsdlEntityType();

  entityType.setName(ET_COMPUTER_SYSTEM_NAME);
  entityType.setProperties(Arrays.asList(id, name, description));
  entityType.setKey(Collections.singletonList(propertyRef));

  return entityType;
}
 
开发者ID:RedHelixOrg,项目名称:RedHelix-1,代码行数:26,代码来源:RedHxComputerSystemServiceEdmProvider.java

示例2: getEntityType

import org.apache.olingo.commons.api.edm.provider.CsdlEntityType; //导入方法依赖的package包/类
/**
 *
 *
 * @return
 */
@Override
public CsdlEntityType getEntityType() {
  // create EntityType properties
  CsdlProperty id =
      new CsdlProperty().setName("ID").setType(EdmPrimitiveTypeKind.Int32.getFullQualifiedName());
  CsdlProperty name = new CsdlProperty().setName("Name")
      .setType(EdmPrimitiveTypeKind.String.getFullQualifiedName());
  CsdlProperty description = new CsdlProperty().setName("Description")
      .setType(EdmPrimitiveTypeKind.String.getFullQualifiedName());

  // create CsdlPropertyRef for Key element
  CsdlPropertyRef propertyRef = new CsdlPropertyRef();

  propertyRef.setName("ID");

  // configure EntityType
  CsdlEntityType entityType = new CsdlEntityType();

  entityType.setName(ET_CHASSIS_NAME);
  entityType.setProperties(Arrays.asList(id, name, description));
  entityType.setKey(Collections.singletonList(propertyRef));

  return entityType;
}
 
开发者ID:RedHelixOrg,项目名称:RedHelix-1,代码行数:30,代码来源:RedHxChassisServiceEdmProvider.java

示例3: navigationProperty

import org.apache.olingo.commons.api.edm.provider.CsdlEntityType; //导入方法依赖的package包/类
@Test
public void navigationProperty() throws Exception {
  CsdlEdmProvider provider = mock(CsdlEdmProvider.class);
  EdmProviderImpl edm = new EdmProviderImpl(provider);
  final FullQualifiedName entityTypeName = new FullQualifiedName("ns", "entity");
  CsdlEntityType entityTypeProvider = new CsdlEntityType();
  entityTypeProvider.setKey(Collections.<CsdlPropertyRef> emptyList());
  when(provider.getEntityType(entityTypeName)).thenReturn(entityTypeProvider);
  CsdlNavigationProperty propertyProvider = new CsdlNavigationProperty();
  propertyProvider.setType(entityTypeName);
  propertyProvider.setNullable(false);
  EdmNavigationProperty property = new EdmNavigationPropertyImpl(edm, propertyProvider);
  assertFalse(property.isCollection());
  assertFalse(property.isNullable());
  EdmType type = property.getType();
  assertEquals(EdmTypeKind.ENTITY, type.getKind());
  assertEquals("ns", type.getNamespace());
  assertEquals("entity", type.getName());
  assertNull(property.getReferencingPropertyName("referencedPropertyName"));
  assertNull(property.getPartner());
  assertFalse(property.containsTarget());

  // Test caching
  EdmType cachedType = property.getType();
  assertTrue(type == cachedType);
}
 
开发者ID:apache,项目名称:olingo-odata4,代码行数:27,代码来源:EdmNavigationPropertyImplTest.java

示例4: navigationPropertyWithPartner

import org.apache.olingo.commons.api.edm.provider.CsdlEntityType; //导入方法依赖的package包/类
@Test
public void navigationPropertyWithPartner() throws Exception {
  CsdlEdmProvider provider = mock(CsdlEdmProvider.class);
  EdmProviderImpl edm = new EdmProviderImpl(provider);
  final FullQualifiedName entityTypeName = new FullQualifiedName("ns", "entity");
  CsdlEntityType entityTypeProvider = new CsdlEntityType();
  entityTypeProvider.setKey(Collections.<CsdlPropertyRef> emptyList());

  List<CsdlNavigationProperty> navigationProperties = new ArrayList<CsdlNavigationProperty>();
  navigationProperties.add(new CsdlNavigationProperty().setName("partnerName").setType(entityTypeName));
  entityTypeProvider.setNavigationProperties(navigationProperties);
  when(provider.getEntityType(entityTypeName)).thenReturn(entityTypeProvider);
  CsdlNavigationProperty propertyProvider = new CsdlNavigationProperty();
  propertyProvider.setType(entityTypeName);
  propertyProvider.setNullable(false);
  propertyProvider.setPartner("partnerName");
  EdmNavigationProperty property = new EdmNavigationPropertyImpl(edm, propertyProvider);
  EdmNavigationProperty partner = property.getPartner();
  assertNotNull(partner);

  // Caching
  assertTrue(partner == property.getPartner());
}
 
开发者ID:apache,项目名称:olingo-odata4,代码行数:24,代码来源:EdmNavigationPropertyImplTest.java

示例5: navigationPropertyWithNonexistentPartner

import org.apache.olingo.commons.api.edm.provider.CsdlEntityType; //导入方法依赖的package包/类
@Test(expected = EdmException.class)
public void navigationPropertyWithNonexistentPartner() throws Exception {
  CsdlEdmProvider provider = mock(CsdlEdmProvider.class);
  EdmProviderImpl edm = new EdmProviderImpl(provider);
  final FullQualifiedName entityTypeName = new FullQualifiedName("ns", "entity");
  CsdlEntityType entityTypeProvider = new CsdlEntityType();
  entityTypeProvider.setKey(Collections.<CsdlPropertyRef> emptyList());

  List<CsdlNavigationProperty> navigationProperties = new ArrayList<CsdlNavigationProperty>();
  navigationProperties.add(new CsdlNavigationProperty().setName("partnerName").setType(entityTypeName));
  entityTypeProvider.setNavigationProperties(navigationProperties);
  when(provider.getEntityType(entityTypeName)).thenReturn(entityTypeProvider);
  CsdlNavigationProperty propertyProvider = new CsdlNavigationProperty();
  propertyProvider.setType(entityTypeName);
  propertyProvider.setNullable(false);
  propertyProvider.setPartner("wrong");
  EdmNavigationProperty property = new EdmNavigationPropertyImpl(edm, propertyProvider);
  property.getPartner();
}
 
开发者ID:apache,项目名称:olingo-odata4,代码行数:20,代码来源:EdmNavigationPropertyImplTest.java

示例6: readEntityType

import org.apache.olingo.commons.api.edm.provider.CsdlEntityType; //导入方法依赖的package包/类
private void readEntityType(XMLEventReader reader, StartElement element, CsdlSchema schema)
    throws XMLStreamException {
  CsdlEntityType entityType = new CsdlEntityType();
  entityType.setProperties(new ArrayList<CsdlProperty>());
  entityType.setNavigationProperties(new ArrayList<CsdlNavigationProperty>());
  entityType.setKey(new ArrayList<CsdlPropertyRef>());
  entityType.setName(attr(element, "Name"));
  if (attr(element, "BaseType") != null) {
    entityType.setBaseType(new FullQualifiedName(attr(element, "BaseType")));
  }
  entityType.setAbstract(Boolean.parseBoolean(attr(element, "Abstract")));
  entityType.setOpenType(Boolean.parseBoolean(attr(element, "OpenType")));
  entityType.setHasStream(Boolean.parseBoolean(attr(element, "HasStream")));
  readEntityProperties(reader, entityType);
  schema.getEntityTypes().add(entityType);
}
 
开发者ID:apache,项目名称:olingo-odata4,代码行数:17,代码来源:MetadataParser.java

示例7: getEntityType

import org.apache.olingo.commons.api.edm.provider.CsdlEntityType; //导入方法依赖的package包/类
@Override
public CsdlEntityType getEntityType(FullQualifiedName entityTypeName) {
  // this method is called for one of the EntityTypes that are configured in the Schema
  if(ET_PRODUCT_FQN.equals(entityTypeName)){

    //create EntityType properties
    CsdlProperty id = new CsdlProperty().setName("ID").setType(EdmPrimitiveTypeKind.Int32.getFullQualifiedName());
    CsdlProperty name = new CsdlProperty().setName("Name").setType(EdmPrimitiveTypeKind.String.getFullQualifiedName());
    CsdlProperty  description = new CsdlProperty().setName("Description").setType(EdmPrimitiveTypeKind.String.getFullQualifiedName());

    // create PropertyRef for Key element
    CsdlPropertyRef propertyRef = new CsdlPropertyRef();
    propertyRef.setName("ID");

    // configure EntityType
    CsdlEntityType entityType = new CsdlEntityType();
    entityType.setName(ET_PRODUCT_NAME);
    entityType.setProperties(Arrays.asList(id, name, description));
    entityType.setKey(Collections.singletonList(propertyRef));

    return entityType;
  }

  return null;

}
 
开发者ID:apache,项目名称:olingo-odata4,代码行数:27,代码来源:DemoEdmProvider.java

示例8: getEntityType

import org.apache.olingo.commons.api.edm.provider.CsdlEntityType; //导入方法依赖的package包/类
@Override
public CsdlEntityType getEntityType(FullQualifiedName entityTypeName) {

  // this method is called for one of the EntityTypes that are configured in the Schema
  if(entityTypeName.equals(ET_PRODUCT_FQN)){

    //create EntityType properties
    CsdlProperty id = new CsdlProperty().setName("ID").setType(EdmPrimitiveTypeKind.Int32.getFullQualifiedName());
    CsdlProperty name = new CsdlProperty().setName("Name").setType(EdmPrimitiveTypeKind.String.getFullQualifiedName());
    CsdlProperty  description = new CsdlProperty().setName("Description").setType(EdmPrimitiveTypeKind.String.getFullQualifiedName());

    // create CsdlPropertyRef for Key element
    CsdlPropertyRef propertyRef = new CsdlPropertyRef();
    propertyRef.setName("ID");

    // configure EntityType
    CsdlEntityType entityType = new CsdlEntityType();
    entityType.setName(ET_PRODUCT_NAME);
    entityType.setProperties(Arrays.asList(id, name , description));
    entityType.setKey(Collections.singletonList(propertyRef));

    return entityType;
  }

  return null;
}
 
开发者ID:apache,项目名称:olingo-odata4,代码行数:27,代码来源:DemoEdmProvider.java

示例9: navigationPropertyWithReferntialConstraint

import org.apache.olingo.commons.api.edm.provider.CsdlEntityType; //导入方法依赖的package包/类
@Test
public void navigationPropertyWithReferntialConstraint() throws Exception {
  CsdlEdmProvider provider = mock(CsdlEdmProvider.class);
  EdmProviderImpl edm = new EdmProviderImpl(provider);
  final FullQualifiedName entityTypeName = new FullQualifiedName("ns", "entity");
  CsdlEntityType entityTypeProvider = new CsdlEntityType();
  entityTypeProvider.setKey(Collections.<CsdlPropertyRef> emptyList());
  when(provider.getEntityType(entityTypeName)).thenReturn(entityTypeProvider);
  CsdlNavigationProperty propertyProvider = new CsdlNavigationProperty();
  propertyProvider.setType(entityTypeName);
  propertyProvider.setNullable(false);
  propertyProvider.setContainsTarget(true);
  List<CsdlReferentialConstraint> referentialConstraints = new ArrayList<CsdlReferentialConstraint>();
  referentialConstraints.add(new CsdlReferentialConstraint().setProperty("property").setReferencedProperty(
      "referencedProperty"));
  propertyProvider.setReferentialConstraints(referentialConstraints);

  EdmNavigationProperty property = new EdmNavigationPropertyImpl(edm, propertyProvider);
  assertEquals("property", property.getReferencingPropertyName("referencedProperty"));
  assertNull(property.getReferencingPropertyName("wrong"));
  assertTrue(property.containsTarget());
  
  assertNotNull(property.getReferentialConstraints());
  List<EdmReferentialConstraint> edmReferentialConstraints = property.getReferentialConstraints();
  assertEquals(1, edmReferentialConstraints.size());
  assertTrue(edmReferentialConstraints == property.getReferentialConstraints());
  
}
 
开发者ID:apache,项目名称:olingo-odata4,代码行数:29,代码来源:EdmNavigationPropertyImplTest.java

示例10: getEntityType

import org.apache.olingo.commons.api.edm.provider.CsdlEntityType; //导入方法依赖的package包/类
@Override
public CsdlEntityType getEntityType(FullQualifiedName entityTypeName) {
  // this method is called for one of the EntityTypes that are configured in the Schema
  if(ET_PRODUCT_FQN.equals(entityTypeName)){

    //create EntityType properties
    CsdlProperty id = new CsdlProperty().setName("ID").setType(EdmPrimitiveTypeKind.Int32.getFullQualifiedName());
    CsdlProperty name = new CsdlProperty().setName("Name")
                                          .setType(EdmPrimitiveTypeKind.String.getFullQualifiedName());
    CsdlProperty  description = new CsdlProperty().setName("Description")
                                                  .setType(EdmPrimitiveTypeKind.String.getFullQualifiedName());

    // create PropertyRef for Key element
    CsdlPropertyRef propertyRef = new CsdlPropertyRef();
    propertyRef.setName("ID");

    // configure EntityType
    CsdlEntityType entityType = new CsdlEntityType();
    entityType.setName(ET_PRODUCT_NAME);
    entityType.setProperties(Arrays.asList(id, name, description));
    entityType.setKey(Collections.singletonList(propertyRef));

    return entityType;
  }

  return null;
}
 
开发者ID:apache,项目名称:olingo-odata4,代码行数:28,代码来源:DemoEdmProvider.java

示例11: getEntityType

import org.apache.olingo.commons.api.edm.provider.CsdlEntityType; //导入方法依赖的package包/类
@Override
public CsdlEntityType getEntityType(FullQualifiedName entityTypeName) {
  // this method is called for one of the EntityTypes that are configured in the Schema
  if(ET_PRODUCT_FQN.equals(entityTypeName)){

    //create EntityType properties
    CsdlProperty id = new CsdlProperty().setName("ID")
                                        .setType(EdmPrimitiveTypeKind.Int32.getFullQualifiedName());
    CsdlProperty name = new CsdlProperty().setName("Name")
                                          .setType(EdmPrimitiveTypeKind.String.getFullQualifiedName());
    CsdlProperty  description = new CsdlProperty().setName("Description")
                                                  .setType(EdmPrimitiveTypeKind.String.getFullQualifiedName());

    // create PropertyRef for Key element
    CsdlPropertyRef propertyRef = new CsdlPropertyRef();
    propertyRef.setName("ID");

    // configure EntityType
    CsdlEntityType entityType = new CsdlEntityType();
    entityType.setName(ET_PRODUCT_NAME);
    entityType.setProperties(Arrays.asList(id, name, description));
    entityType.setKey(Collections.singletonList(propertyRef));

    return entityType;
  }

  return null;

}
 
开发者ID:apache,项目名称:olingo-odata4,代码行数:30,代码来源:DemoEdmProvider.java

示例12: getEntityType

import org.apache.olingo.commons.api.edm.provider.CsdlEntityType; //导入方法依赖的package包/类
@Override
public CsdlEntityType getEntityType(FullQualifiedName entityTypeName) {
  // this method is called for one of the EntityTypes that are configured in the Schema
  if(entityTypeName.equals(ET_PRODUCT_FQN)){

    //create EntityType properties
    CsdlProperty id = new CsdlProperty().setName("ID")
            .setType(EdmPrimitiveTypeKind.Int32.getFullQualifiedName());
    CsdlProperty name = new CsdlProperty().setName("Name")
            .setType(EdmPrimitiveTypeKind.String.getFullQualifiedName());
    CsdlProperty  description = new CsdlProperty().setName("Description")
            .setType(EdmPrimitiveTypeKind.String.getFullQualifiedName());

    // create CsdlPropertyRef for Key element
    CsdlPropertyRef propertyRef = new CsdlPropertyRef();
    propertyRef.setName("ID");

    // configure EntityType
    CsdlEntityType entityType = new CsdlEntityType();
    entityType.setName(ET_PRODUCT_NAME);
    entityType.setProperties(Arrays.asList(id, name, description));
    entityType.setKey(Collections.singletonList(propertyRef));

    return entityType;
  }

  return null;

}
 
开发者ID:apache,项目名称:olingo-odata4,代码行数:30,代码来源:DemoEdmProvider.java

示例13: getEntityType

import org.apache.olingo.commons.api.edm.provider.CsdlEntityType; //导入方法依赖的package包/类
@Override
public CsdlEntityType getEntityType(FullQualifiedName entityTypeName) {
  // this method is called for one of the EntityTypes that are configured in the Schema
  if (ET_PRODUCT_FQN.equals(entityTypeName)) {

    // create EntityType properties
    CsdlProperty id = new CsdlProperty().setName("ID").setType(
        EdmPrimitiveTypeKind.Int32.getFullQualifiedName());
    CsdlProperty name = new CsdlProperty().setName("Name").setType(
        EdmPrimitiveTypeKind.String.getFullQualifiedName());
    CsdlProperty description = new CsdlProperty().setName("Description").setType(
        EdmPrimitiveTypeKind.String.getFullQualifiedName());

    // create PropertyRef for Key element
    CsdlPropertyRef propertyRef = new CsdlPropertyRef();
    propertyRef.setName("ID");

    // configure EntityType
    CsdlEntityType entityType = new CsdlEntityType();
    entityType.setName(ET_PRODUCT_NAME);
    entityType.setProperties(Arrays.asList(id, name, description));
    entityType.setKey(Collections.singletonList(propertyRef));

    return entityType;
  }

  return null;

}
 
开发者ID:apache,项目名称:olingo-odata4,代码行数:30,代码来源:DemoEdmProvider.java

示例14: setupTypes

import org.apache.olingo.commons.api.edm.provider.CsdlEntityType; //导入方法依赖的package包/类
@Before
public void setupTypes() throws Exception {
  CsdlEdmProvider provider = mock(CsdlEdmProvider.class);
  EdmProviderImpl edm = new EdmProviderImpl(provider);

  FullQualifiedName baseName = new FullQualifiedName("namespace", "BaseTypeName");
  CsdlEntityType baseType = new CsdlEntityType();
  baseType.setName(baseName.getName());
  List<CsdlProperty> properties = new ArrayList<CsdlProperty>();
  properties.add(new CsdlProperty().setName("Id").setType(EdmPrimitiveTypeKind.String.getFullQualifiedName()));
  properties.add(new CsdlProperty().setName("Name").setType(EdmPrimitiveTypeKind.String.getFullQualifiedName()));
  baseType.setProperties(properties);
  List<CsdlPropertyRef> key = new ArrayList<CsdlPropertyRef>();
  key.add(new CsdlPropertyRef().setName("Id"));
  baseType.setKey(key);
  List<CsdlNavigationProperty> navigationProperties = new ArrayList<CsdlNavigationProperty>();
  navigationProperties.add(new CsdlNavigationProperty().setName("nav1"));
  baseType.setNavigationProperties(navigationProperties);
  when(provider.getEntityType(baseName)).thenReturn(baseType);

  this.baseType = new EdmEntityTypeImpl(edm, baseName, baseType);

  FullQualifiedName typeName = new FullQualifiedName("namespace", "typeName");
  CsdlEntityType type = new CsdlEntityType();
  type.setName(typeName.getName());
  type.setBaseType(baseName);
  List<CsdlProperty> typeProperties = new ArrayList<CsdlProperty>();
  typeProperties.add(new CsdlProperty().setName("address").setType(
      EdmPrimitiveTypeKind.String.getFullQualifiedName()));
  typeProperties.add(new CsdlProperty().setName("email").setType(
      EdmPrimitiveTypeKind.String.getFullQualifiedName()));
  type.setProperties(typeProperties);
  List<CsdlNavigationProperty> typeNavigationProperties = new ArrayList<CsdlNavigationProperty>();
  typeNavigationProperties.add(new CsdlNavigationProperty().setName("nav2"));
  type.setNavigationProperties(typeNavigationProperties);
  when(provider.getEntityType(typeName)).thenReturn(type);

  typeWithBaseType = new EdmEntityTypeImpl(edm, typeName, type);

  FullQualifiedName typeWithComplexKeyName = new FullQualifiedName("namespace", "typeName");
  CsdlEntityType typeWithComplexKeyProvider = new CsdlEntityType();
  typeWithComplexKeyProvider.setName(typeWithComplexKeyName.getName());
  List<CsdlProperty> typeWithComplexKeyProperties = new ArrayList<CsdlProperty>();
  typeWithComplexKeyProperties.add(new CsdlProperty().setName("Id").setType(
      EdmPrimitiveTypeKind.String.getFullQualifiedName()));

  List<CsdlProperty> complexTypeProperties = new ArrayList<CsdlProperty>();
  complexTypeProperties.add(new CsdlProperty().setName("ComplexPropName").setType(
      EdmPrimitiveTypeKind.String.getFullQualifiedName()));
  FullQualifiedName complexTypeName = new FullQualifiedName("namespace", "complexTypeName");
  when(provider.getComplexType(complexTypeName)).thenReturn(
      new CsdlComplexType().setName("complexTypeName").setProperties(complexTypeProperties));

  typeWithComplexKeyProperties.add(new CsdlProperty().setName("Comp").setType(complexTypeName));
  typeWithComplexKeyProvider.setProperties(typeWithComplexKeyProperties);
  List<CsdlPropertyRef> keyForTypeWithComplexKey = new ArrayList<CsdlPropertyRef>();
  keyForTypeWithComplexKey.add(new CsdlPropertyRef().setName("Id"));
  keyForTypeWithComplexKey.add(new CsdlPropertyRef().setName("Comp/ComplexPropName").setAlias("alias"));
  typeWithComplexKeyProvider.setKey(keyForTypeWithComplexKey);
  when(provider.getEntityType(typeWithComplexKeyName)).thenReturn(typeWithComplexKeyProvider);

  typeWithComplexKey = new EdmEntityTypeImpl(edm, typeWithComplexKeyName, typeWithComplexKeyProvider);
}
 
开发者ID:apache,项目名称:olingo-odata4,代码行数:64,代码来源:EdmEntityTypeImplTest.java

示例15: testAbstractBaseTypeWithoutKey

import org.apache.olingo.commons.api.edm.provider.CsdlEntityType; //导入方法依赖的package包/类
@Test
public void testAbstractBaseTypeWithoutKey() throws Exception {
  CsdlEdmProvider provider = mock(CsdlEdmProvider.class);
  EdmProviderImpl edm = new EdmProviderImpl(provider);

  FullQualifiedName baseName = new FullQualifiedName("namespace", "BaseTypeName");
  CsdlEntityType baseType = new CsdlEntityType();
  baseType.setName(baseName.getName());
  List<CsdlProperty> properties = new ArrayList<CsdlProperty>();
  properties.add(new CsdlProperty().setName("Id").setType(EdmPrimitiveTypeKind.String.getFullQualifiedName()));
  properties.add(new CsdlProperty().setName("Name").setType(EdmPrimitiveTypeKind.String.getFullQualifiedName()));
  baseType.setProperties(properties);
  List<CsdlNavigationProperty> navigationProperties = new ArrayList<CsdlNavigationProperty>();
  navigationProperties.add(new CsdlNavigationProperty().setName("nav1"));
  baseType.setNavigationProperties(navigationProperties);
  when(provider.getEntityType(baseName)).thenReturn(baseType);
  baseType.setAbstract(true);
  EdmEntityType edmAbstarctBaseType = new EdmEntityTypeImpl(edm, baseName, baseType);

  assertEquals(2, edmAbstarctBaseType.getPropertyNames().size());
  assertEquals("Id", edmAbstarctBaseType.getPropertyNames().get(0));
  assertEquals("Name", edmAbstarctBaseType.getPropertyNames().get(1));

  FullQualifiedName typeName = new FullQualifiedName("namespace", "typeName");
  CsdlEntityType type = new CsdlEntityType();
  type.setName(typeName.getName());
  type.setBaseType(baseName);
  List<CsdlProperty> typeProperties = new ArrayList<CsdlProperty>();
  typeProperties.add(new CsdlProperty().setName("address").setType(
      EdmPrimitiveTypeKind.String.getFullQualifiedName()));
  typeProperties.add(new CsdlProperty().setName("email").setType(
      EdmPrimitiveTypeKind.String.getFullQualifiedName()));
  type.setProperties(typeProperties);
  List<CsdlPropertyRef> key = new ArrayList<CsdlPropertyRef>();
  key.add(new CsdlPropertyRef().setName("email"));
  type.setKey(key);
  List<CsdlNavigationProperty> typeNavigationProperties = new ArrayList<CsdlNavigationProperty>();
  typeNavigationProperties.add(new CsdlNavigationProperty().setName("nav2"));
  type.setNavigationProperties(typeNavigationProperties);
  when(provider.getEntityType(typeName)).thenReturn(type);

  EdmEntityType edmType = new EdmEntityTypeImpl(edm, typeName, type);

  assertNotNull(edmType.getBaseType());
  assertEquals(2, edmAbstarctBaseType.getPropertyNames().size());

  assertEquals(1, edmType.getKeyPropertyRefs().size());
  assertEquals("email", edmType.getKeyPredicateNames().get(0));

  assertEquals(4, edmType.getPropertyNames().size());
  assertEquals("Id", edmType.getPropertyNames().get(0));
  assertEquals("Name", edmType.getPropertyNames().get(1));
  assertEquals("address", edmType.getPropertyNames().get(2));
  assertEquals("email", edmType.getPropertyNames().get(3));

  assertEquals(2, edmType.getNavigationPropertyNames().size());
  assertEquals("nav1", edmType.getNavigationPropertyNames().get(0));
  assertEquals("nav2", edmType.getNavigationPropertyNames().get(1));
}
 
开发者ID:apache,项目名称:olingo-odata4,代码行数:60,代码来源:EdmEntityTypeImplTest.java


注:本文中的org.apache.olingo.commons.api.edm.provider.CsdlEntityType.setKey方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。