.setName(entityInfo.entityTypeName) .setHasStream(entityInfo.hasStream) .addProperties(properties);
.setName(entityTypeName) .setNamespace(modelNamespace); entityTypes.add(entityType);
public XmlDataProducer() { // build the metadata here hardcoded as example // one would probably generate it from xsd schema or something else String namespace = "XmlExample"; List<EdmProperty.Builder> properties = new ArrayList<EdmProperty.Builder>(); properties.add(EdmProperty.newBuilder("address").setType(EdmSimpleType.STRING)); properties.add(EdmProperty.newBuilder("city").setType(EdmSimpleType.STRING)); properties.add(EdmProperty.newBuilder("companyName").setType(EdmSimpleType.STRING)); properties.add(EdmProperty.newBuilder("contactName").setType(EdmSimpleType.STRING)); properties.add(EdmProperty.newBuilder("contactTitle").setType(EdmSimpleType.STRING)); properties.add(EdmProperty.newBuilder("country").setType(EdmSimpleType.STRING)); properties.add(EdmProperty.newBuilder("customerID").setType(EdmSimpleType.STRING)); properties.add(EdmProperty.newBuilder("fax").setType(EdmSimpleType.STRING)); properties.add(EdmProperty.newBuilder("phone").setType(EdmSimpleType.STRING)); properties.add(EdmProperty.newBuilder("postalCode").setType(EdmSimpleType.STRING)); List<EdmEntityType.Builder> entityTypes = new ArrayList<EdmEntityType.Builder>(); EdmEntityType.Builder type = EdmEntityType.newBuilder().setNamespace(namespace).setName("Customers").addKeys("customerID").addProperties(properties); entityTypes.add(type); List<EdmEntitySet.Builder> entitySets = new ArrayList<EdmEntitySet.Builder>(); entitySets.add(EdmEntitySet.newBuilder().setName("Customers").setEntityType(type)); EdmEntityContainer.Builder container = EdmEntityContainer.newBuilder().setName(namespace + "Entities").setIsDefault(true).addEntitySets(entitySets); EdmSchema.Builder modelSchema = EdmSchema.newBuilder().setNamespace(namespace + "Model").addEntityTypes(entityTypes); EdmSchema.Builder containerSchema = EdmSchema.newBuilder().setNamespace(namespace + "Container").addEntityContainers(container); metadata = EdmDataServices.newBuilder().addSchemas(containerSchema, modelSchema).build(); xmlInputFactory = XMLInputFactory.newInstance(); }
EdmEntityType.Builder schemaType = EdmEntityType.newBuilder() .setNamespace(Edm.namespace) .setName(Edm.Schema.name()) .addKeys(keys) .addProperties(props) EdmEntityType.Builder structuralType = EdmEntityType.newBuilder() .setNamespace(Edm.namespace) .setName(Edm.StructuralType.name()) .addKeys(keys) .addProperties(props) .setName(Edm.ComplexType.name()) .setBaseType(structuralType) .addProperties(props) .setName(Edm.EntityType.name()) .setBaseType(structuralType) .addProperties(props) EdmEntityType.Builder propertyType = EdmEntityType.newBuilder() .setNamespace(Edm.namespace) .setName(Edm.Property.name()) .addKeys(keys) .addProperties(props)
EdmEntityType.Builder schemaType = EdmEntityType.newBuilder() .setNamespace(Edm.namespace) .setName(Edm.Schema.name()) .addKeys(keys) .addProperties(props) EdmEntityType.Builder structuralType = EdmEntityType.newBuilder() .setNamespace(Edm.namespace) .setName(Edm.StructuralType.name()) .addKeys(keys) .addProperties(props) .setName(Edm.ComplexType.name()) .setBaseType(structuralType) .addProperties(props) .setName(Edm.EntityType.name()) .setBaseType(structuralType) .addProperties(props) EdmEntityType.Builder propertyType = EdmEntityType.newBuilder() .setNamespace(Edm.namespace) .setName(Edm.Property.name()) .addKeys(keys) .addProperties(props)
List<EdmNavigationProperty.Builder> navigationProperties = new ArrayList<EdmNavigationProperty.Builder>(); EdmEntityType.Builder eet = EdmEntityType.newBuilder().setNamespace(modelNamespace).setName(name).addKeys(keys).addProperties(properties).addNavigationProperties(navigationProperties); edmEntityTypes.add(eet);
.newBuilder().setName(entityTypeName) .setNamespace(schema.getName());
.setNamespace(schemaNamespace) .setAlias(schemaAlias) .setName(name) .setHasStream(hasStream) .setOpenType(openType)
.setNamespace(schemaNamespace) .setAlias(schemaAlias) .setName(name) .setHasStream(hasStream) .setOpenType(openType)
static EdmEntitySet removeModelName(EdmEntitySet src) { EdmEntityType srcType = src.getType(); String schemaName = srcType.getName().substring(0, srcType.getName().indexOf('.')); String name = srcType.getName().substring(srcType.getName().indexOf('.')+1); EdmEntityType.Builder targetType = EdmEntityType .newBuilder().setName(name) .setNamespace(schemaName); targetType.addKeys(srcType.getKeys()); Enumerable<EdmProperty> properties = srcType.getProperties(); for (EdmProperty srcProperty:properties.toList()) { EdmProperty.Builder tgtProperty = EdmProperty.newBuilder(srcProperty.getName()) .setType(srcProperty.getType()) .setNullable(srcProperty.isNullable()) .setFixedLength(srcProperty.getFixedLength()) .setMaxLength(srcProperty.getMaxLength()) .setUnicode(true); targetType.addProperties(tgtProperty); } EdmEntitySet.Builder target = EdmEntitySet.newBuilder() .setName(src.getName()) .setEntityType(targetType); return target.build(); } }
private EdmEntityType.Builder EntityTypeを作成(String entityTypeName) { EdmEntityType.Builder eBuilder = EdmEntityType.newBuilder(); eBuilder.setName(entityTypeName).addKeys("root").setNamespace(NS); return eBuilder; }