プロパティー・タイプを作成して既存のエンティティー・タイプに追加する

ここにあるサンプル・データ・グラフとコード・スニペットを使用して、プロパティー・タイプ 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>

出力データ・グラフ

戻されたデータ・グラフには、この新しいプロパティー・タイプをサポートするリポジトリーの ID が含まれています。
<?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>

wimxmlextension.xml ファイル

スキーマ作成後の wimxmlextension.xml は次のスニペットのようになります。
<?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>
注: propertySchema データ・オブジェクトと extensionPropertySchema データ・オブジェクトについて詳しくは、プログラミングの前提条件のトピックにあるプロパティー・スキーマの拡張のセクションを参照してください。 また、WebSphere Application Server インフォメーション・センターの「 フェデレーテッド・リポジトリーリポジトリー構成におけるプロパティー拡張リポジトリーの構成」も参照してください。

サンプル・コード

次のコードを使用して、プロパティー・タイプ 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);
    }


利用条件 | フィードバック