ここにあるサンプル・データ・グラフとコード・スニペットを使用して、プロパティー・タイプ age を作成し、それを既存のエンティティー・タイプ PersonAccount に追加することができます。
<?xml version="1.0" encoding="UTF-8"?>
<sdo:datagraph xmlns:sdo="commonj.sdo"
xmlns:wim="http://www.ibm.com/websphere/wim">
<wim:Root>
<wim:schema>
<wim:propertySchema nsPrefix="yourext" nsURI="http://www.yourco.com/wim/yourext"
dataType="Int" multiValued="false" propertyName="age">
<wim:applicableEntityTypeNames>PersonAccount</wim:applicableEntityTypeNames>
</wim:propertySchema>
</wim:schema>
</wim:Root>
</sdo:datagraph>
<?xml version="1.0" encoding="UTF-8"?>
<sdo:datagraph xmlns:sdo="commonj.sdo"
xmlns:wim="http://www.ibm.com/websphere/wim">
<wim:Root>
<wim:schema>
<wim:propertySchema nsPrefix="yourext" nsURI="http://www.yourco.com/wim/yourext"
dataType="Int" multiValued="false" propertyName="age">
<wim:repositoryIds>LDAP1</wim:repositoryIds>
<wim:applicableEntityTypeNames>PersonAccount</wim:applicableEntityTypeNames>
</wim:propertySchema>
</wim:schema>
</wim:Root>
</sdo:datagraph>
<?xml version="1.0" encoding="UTF-8"?>
<sdo:datagraph xmlns:sdo="commonj.sdo"
xmlns:wim="http://www.ibm.com/websphere/wim">
<wim:schema>
<wim:propertySchema nsPrefix="yourext" nsURI="http://www.yourco.com/wim/yourext"
dataType="Int" multiValued="false" propertyName="age">
<wim:applicableEntityTypeNames>PersonAccount</wim:applicableEntityTypeNames>
</wim:propertySchema>
</wim:schema>
</sdo:datagraph>
次のコードを使用して、プロパティー・タイプ age を作成し、それを既存のエンティティー・タイプ PersonAccount に追加します。
private static String dynaextURI = "http://www.yourco.com/wim/yourext";
private static String dynaextPrefix = "yourext";
String newPropName = "age";
try {
System.out.println("\nCLIENT: Create new property type
and add it to existing entity type PersonAccount...");
DataObject root = service.createRootDataObject();
DataObject dynaSchemaDO = root.createDataObject(SchemaConstants.DO_SCHEMA);
// 新規プロパティーを作成する
DataObject propSchemaDO = dynaSchemaDO.createDataObject(SchemaConstants.DO_EXTENSION_PROPERTY_SCHEMA);
propSchemaDO.set(SchemaConstants.PROP_NS_URI, dynaextURI);
propSchemaDO.set(SchemaConstants.PROP_NS_PREFIX, dynaextPrefix);
propSchemaDO.set(SchemaConstants.PROP_PROPERTY_NAME, newPropName);
propSchemaDO.setBoolean(SchemaConstants.PROP_MULTI_VALUED, false);
propSchemaDO.set(SchemaConstants.PROP_DATA_TYPE, SchemaConstants.DATA_TYPE_INT);
List applicableEntityTypes = propSchemaDO.getList(SchemaConstants.PROP_APPLICABLE_ENTITY_TYPE_NAMES);
applicableEntityTypes.add("PersonAccount");
SDOUtils.printDataGraph(INPUT_DATAGRAPH, root);
service.createSchema(root);
System.out.println("¥nCLIENT: new property type is created.");
}
catch (Exception e) {
printException(e);
}