Código de amostra para procura com base no valor da propriedade estendida

Use o fragmento de código de amostra e os gráficos de dados para executar uma procura baseada no valor de uma propriedade estendida.

O fragmento de código de amostra e o gráfico de dados a seguir mostram como usar uma base de procura para procurar entidades com o valor de uma propriedade estendida age como critério de procura.

Pré-requisito

Assegure-se de ter lido as informações e concluído as etapas descritas no tópico Pré-requisitos de Programação, que também lista a sintaxe válida para tipos de dados de propriedade.

Você deve ter entidades com propriedades estendidas preenchidas em diferentes bases de procura. Para obter o código de amostra sobre como criar propriedades estendidas, consulte os seguintes tópicos

Código de Amostra

Inclua o seguinte fragmento de código no código do aplicativo e substitua as variáveis pelos valores reais que você deseja usar.

private static void searchWithSearchBase() 
{
    try 
    {
        //Procurar Pessoa B
        DataObject root = SDOHelper.createRootDataObject();
        DataObject searchCtrl = SDOHelper.createControlDataObject(root, null, 
                SchemaConstants.DO_SEARCH_CONTROL);
        searchCtrl.getList(SchemaConstants.PROP_PROPERTIES).add("uid");
        searchCtrl.getList(SchemaConstants.PROP_PROPERTIES).add("sn");
        searchCtrl.getList(SchemaConstants.PROP_PROPERTIES).add("cn");
        searchCtrl.getList(SchemaConstants.PROP_PROPERTIES).add("age");
        /**
         * É possível incluir bases de procura na procura conforme mostrado aqui:
         * o=defaultWIMFileBasedRealm para procura no repositório de arquivo padrão
         * ou
         * dc=yourco,dc=com para a procura no repositório LDAP.
         * Se nenhuma base de procura for fornecida, a procura será executada em todas as entradas de base configuradas.
         */
        searchCtrl.getList(SchemaConstants.PROP_SEARCH_BASES).add("o=defaultWIMFileBasedRealm");
        searchCtrl.setString(SchemaConstants.PROP_SEARCH_EXPRESSION, 
                "@xsi:type='PersonAccount' e age > 2");
        root = service.search(root);
        System.out.println("Gráfico de dados de saída" +  printDO(root));
        printIdentifiers(root);
    }
    catch (Exception e) 
    {
        e.printStackTrace();
    }
}

É possível validar os resultados da procura verificando se as entidades pertencem à base de procura especificada, como o=defaultWIMFileBasedRealm para uma procura no repositório de arquivo padrão, ou dc=yourco,dc=com, para procura no repositório LDAP.

Gráficos de dados de saída

Gráfico de dados de saída para usar uma base de procura para procurar entidades baseadas no valor de uma propriedade estendida:

<?xml version="1.0" encoding="UTF-8"?>
<sdo:datagraph xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:sdo="commonj.sdo" xmlns:wim="http://www.ibm.com/websphere/wim">
  <wim:Root>
    <wim:entities xsi:type="wim:PersonAccount">
      <wim:identifier externalName="uid=personb,o=defaultWIMFileBasedRealm" 
          repositoryId="InternalFileRepository"
          uniqueId="9e27cd3b-6300-4264-a4ac-768dd1092d11" 
          uniqueName="uid=personb,o=defaultWIMFileBasedRealm"/>
      <wim:uid>personb</wim:uid>
      <wim:cn>Pessoa B</wim:cn>
      <wim:sn>PersonBLastName</wim:sn>
    </wim:entities>
  </wim:Root>
</sdo:datagraph>


Termos de uso | Feedback