Creación de un tipo de propiedad y adición a un tipo de entidad existente

Puede utilizar los gráficos de datos de ejemplo y el fragmento de código que se proporcionan aquí para crear un tipo de propiedad, age, y añadirlo a un tipo de entidad existente, PersonAccount.

Gráfico de datos de entrada

<?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>

Gráfico de datos de salida

El gráfico de datos que se devuelven contiene los ID de los depósitos que dan soporte a este nuevo tipo de propiedad.
<?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>

Archivo wimxmlextension.xml

Después de crear el esquema, wimxmlextension.xml aparece como el siguiente fragmento de código:
<?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>
Nota: Para obtener más información sobre el uso de los objetos de datos propertySchema y extensionPropertySchema, consulte el apartado Ampliación del esquema de propiedad en el tema Requisitos previos de programación. Consulte además Configuración de repositorios de extensiones de propiedades en configuraciones de repositorios de federados en el Information Center de WebSphere Application Server.

Código de ejemplo

Utilice el siguiente código para crear un tipo de propiedad, age, y añadirlo a un tipo de entidad existente 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);

        // crear nueva propiedad
        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);
    }


Condiciones de uso | Comentarios