.setName(entityInfo.entityTypeName) .setHasStream(entityInfo.hasStream) .addProperties(properties);
.setType(propertyType) .setNullable(jdbcColumn.isNullable); entityType.addProperties(property); propertyMapping.put(property, jdbcColumn);
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(); }
.setName(Edm.Schema.name()) .addKeys(keys) .addProperties(props) .addNavigationProperties(navprops); if (decorator != null) { .setName(Edm.StructuralType.name()) .addKeys(keys) .addProperties(props) .addNavigationProperties(navprops); if (decorator != null) { .setName(Edm.ComplexType.name()) .setBaseType(structuralType) .addProperties(props) .addNavigationProperties(navprops); if (decorator != null) { .setName(Edm.EntityType.name()) .setBaseType(structuralType) .addProperties(props) .addNavigationProperties(navprops); if (decorator != null) { .setName(Edm.Property.name()) .addKeys(keys) .addProperties(props) .addNavigationProperties(navprops); if (decorator != null) {
.setName(Edm.Schema.name()) .addKeys(keys) .addProperties(props) .addNavigationProperties(navprops); if (decorator != null) { .setName(Edm.StructuralType.name()) .addKeys(keys) .addProperties(props) .addNavigationProperties(navprops); if (decorator != null) { .setName(Edm.ComplexType.name()) .setBaseType(structuralType) .addProperties(props) .addNavigationProperties(navprops); if (decorator != null) { .setName(Edm.EntityType.name()) .setBaseType(structuralType) .addProperties(props) .addNavigationProperties(navprops); if (decorator != null) { .setName(Edm.Property.name()) .addKeys(keys) .addProperties(props) .addNavigationProperties(navprops); if (decorator != null) {
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);
entityType.addProperties(property); continue; .setUnicode(true); entityType.addProperties(property);
.setOpenType(openType) .addKeys(keys) .addProperties(edmProperties) .addNavigationProperties(edmNavigationProperties) .setBaseType(baseType)
.setOpenType(openType) .addKeys(keys) .addProperties(edmProperties) .addNavigationProperties(edmNavigationProperties) .setBaseType(baseType)
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 EdmComplexType.Builder EntityTypeにcomplex型Propertyを1つ作成(String complexTypeName, EdmEntityType.Builder builder) { EdmComplexType.Builder ctBuilder = EdmComplexType.newBuilder(); ctBuilder.setName(complexTypeName).setNamespace(NS); EdmProperty.Builder pBuilder = EdmProperty.newBuilder(complexTypeName + "_prop") .setType(ctBuilder); builder.addProperties(pBuilder); return ctBuilder; }
private void EntityTypeにsimple型Propertyを指定数作成(int count, EdmEntityType.Builder builder) { for (int i = 0; i < count; i++) { EdmProperty.Builder pBuilder = EdmProperty.newBuilder(String.format("p_prop%03d", i)) .setType(EdmSimpleType.STRING); builder.addProperties(pBuilder); // 予約語プロパティ用ダミー pBuilder = EdmProperty.newBuilder(String.format("_reservedProp_%03d", i)) .setType(EdmSimpleType.STRING); builder.addProperties(pBuilder); } }