Ejemplos de Search
Conceptos básicos
Sección titulada «Conceptos básicos»Casi todos los métodos usan QueryParams. Aquí tienes algunos consejos sobre cómo usarlo.
| Variables | Tipo | Permite comodines | Restricciones | Descripción |
|---|---|---|---|---|
| domain | long | No. | Valores disponibles: - QueryParams.DOCUMENT - QueryParams.FOLDER - QueryParams.MAIL - QueryParams.RECORD Por defecto el valor es QueryParams.DOCUMENT. Para buscar documentos y carpetas usa el valor: <br>(QueryParams.DOCUMENT | QueryParams.FOLDER) <br> |
Restringe la búsqueda a tipos de nodo. |
| author | String | No. | El valor debe ser un userId válido. | Filtra por el usuario creador. |
| name | String | Sí. | Filtra por nombre de nodo. | |
| title | String | Sí. | Filtra por título. | |
| keywords | Set |
Sí. | Filtra por palabras clave. | |
| categories | Set |
No. | Los valores deben ser un UUID de categoría; no uses un valor de ruta. | Filtra por categorías. |
| content | Sí. | Filtra por contenido binario. | ||
| mimeType | No. | El valor debe ser un tipo MIME válido y registrado. Solo puede aplicarse a nodos de tipo documento. |
Filtra por tipo MIME del documento. | |
| language | No. | El valor debe ser un idioma válido. Solo puede aplicarse a nodos de tipo documento. |
Filtra por idioma del documento. | |
| folder | No. | Cuando está vacío, se usa por defecto el nodo “/okm:root”. El valor debe ser un UUID válido; no uses un valor de ruta. |
Filtra por una carpeta. | |
| folderRecursive | Boolean | No. | Solo tiene sentido establecer esta variable a true cuando la variable folder no está vacía. | Habilita el filtrado recursivo por una carpeta. |
| lastModifiedFrom | Calendar | No. | Filtra nodos creados después de una fecha. | |
| lastModifiedTo | Calendar | No. | Filtra nodos creados antes de una fecha. | |
| mailSubject | String | Sí. | Solo aplica a nodos de correo. | Filtra por el campo asunto del correo. |
| mailFrom | String | Sí. | Solo aplica a nodos de correo. | Filtra por el campo remitente del correo. |
| mailTo | Sí. | Solo aplica a nodos de correo. | Filtra por el campo destinatario del correo. | |
| notes | Sí. | Filtra por notas. | ||
| properties | Map<String, String> | Sí para casi todos. | En valores de campos de metadatos como “date” no pueden aplicarse comodines. El mapa de propiedades se compone de pares: (‘nombre_campo_metadato’,‘valor_campo_metadato’) Por ejemplo: <br>Map<String, String> properties = new HashMap();<br>properties.put("okp:consulting.name", "name value");<br>Filtrado por rango de fechas: <br>Calendar to = Calendar.getInstance(); // today<br>to.set(0, Calendar.HOUR);<br>to.set(0, Calendar.MINUTE);<br>to.set(0, Calendar.SECOND);<br>to.set(0, Calendar.MILLISECOND);<br>Calendar from = (Calendar) to.clone();<br>from.add(-3, Calendar.DATE); // three days before<br>Map<String,String> properties = new HashMap<>();<br>properties.put("okp:consulting.date", ISO8601.formatBasic(from)+","+ISO8601.formatBasic(to));<br>Al filtrar por un rango de fechas debes establecer ambos valores (from y to); en caso contrario OpenKM ignorará el filtro. Para filtrar por un campo de metadatos de tipo múltiple como este: <br><select label="Multiple" name="okp:consulting.multiple" type="multiple"><br> <option label="One" value="one"/><br> <option label="Two" value="two"/><br> <option label="Three" value="three" /><br></select><br>Deberías hacer: <br>properties.put("okp:consulting.multiple", "one;two");<br>Donde “one” y “two” son valores válidos y el carácter “;” se usa como separador. |
Filtra por valores de grupo de metadatos. |
Ejemplos de comodines:
| Variable | Ejemplo | Descripción |
|---|---|---|
| name | test*.html | Cualquier documento que empiece por “test” y termine en “.html”. |
| name | test?.html | Cualquier documento que empiece por “test” seguido de un único carácter y termine en “.html”. |
| name | ?test* | Cualquier documento donde el primer carácter no importa pero va seguido de “test”. |
Ejemplo de código sugerido
Sección titulada «Ejemplo de código sugerido»Primero, debes crear el objeto de servicio web:
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);A continuación debes iniciar sesión usando el método “login”. Puedes acceder al método “login” desde el objeto de servicio web “ws” como se muestra a continuación:
ws.login(user, password);Llegados a este punto puedes usar todos los métodos de Search desde la clase “search” como se muestra a continuación:
ws.search.find(qParams, null)Métodos
Sección titulada «Métodos»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| find(QueryParams queryParams, String propertiesPlugin) | List |
Devuelve una lista de resultados filtrados por los valores del parámetro queryParams. |
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.QueryParams;import com.openkm.sdk4j.bean.QueryResult;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); QueryParams params = new QueryParams(); params.setDomain(QueryParams.DOCUMENT + QueryParams.FOLDER); params.setName("test*");
for (QueryResult qr : ws.search.find(params, null)) { System.out.println(qr); } } catch (Exception e) { e.printStackTrace(); } }}Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| find(QueryParams queryParams, String sortField, boolean sortReverse, String propertiesPlugin) | List |
Devuelve una lista de resultados filtrados por los valores del parámetro queryParams. |
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.QueryParams;import com.openkm.sdk4j.bean.QueryResult;import com.openkm.sdk4j.bean.ResultSet;import com.openkm.sdk4j.bean.SearchSortField;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); QueryParams params = new QueryParams(); params.setDomain(QueryParams.DOCUMENT + QueryParams.FOLDER); params.setName("test*");
for (QueryResult qr : ws.search.find(params, SearchSortField.LAST_MODIFIED, true, null)) { System.out.println(qr); } } catch (Exception e) { e.printStackTrace(); } }}findSimpleNodeBasePaginated
Sección titulada «findSimpleNodeBasePaginated»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| findSimpleNodeBasePaginated(QueryParams queryParams, int offset, int limit) | SimpleNodeBaseResultSet | Devuelve una lista de resultados paginados de tipo SimpleNodeBase filtrados por los valores del parámetro queryParams. |
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.*;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); QueryParams params = new QueryParams(); params.setDomain(QueryParams.DOCUMENT + QueryParams.FOLDER); params.setName("test*"); SimpleNodeBaseResultSet rs = ws.search.findSimpleNodeBasePaginated(params, 20, 10); System.out.println("Total results: " + rs.getTotal());
for (SimpleNodeBase sn : rs.getResults()) { System.out.println(sn); } } catch (Exception e) { e.printStackTrace(); } }}findSimpleNodeBasePaginated
Sección titulada «findSimpleNodeBasePaginated»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| findSimpleNodeBasePaginated(QueryParams queryParams, String sortField, boolean sortReverse, int offset, int limit) | SimpleNodeBaseResultSet | Devuelve una lista de resultados paginados de tipo SimpleNodeBase filtrados por los valores del parámetro queryParams. |
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.*;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); QueryParams params = new QueryParams(); params.setDomain(QueryParams.DOCUMENT + QueryParams.FOLDER); params.setName("test*");
SimpleNodeBaseResultSet result = ws.search.findSimpleNodeBasePaginated(params, SearchSortField.AUTHOR, true, 0, 10); System.out.println("Total: " + result.getTotal()); for (SimpleNodeBase nodeBase : result.getResults()) { if (nodeBase != null) { System.out.println(nodeBase.toString()); } } } catch (Exception e) { e.printStackTrace(); } }}findSimpleNodeBasePaginated
Sección titulada «findSimpleNodeBasePaginated»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| findSimpleNodeBasePaginated(QueryParams queryParams, String sortField, boolean sortReverse, int offset, int limit, String pluginName) | SimpleNodeBaseResultSet | Devuelve una lista de resultados paginados de tipo SimpleNodeBase filtrados por los valores del parámetro queryParams. |
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.*;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password);
QueryParams params = new QueryParams(); params.setDomain(QueryParams.DOCUMENT + QueryParams.FOLDER); params.setName("test*"); SimpleNodeBaseResultSet result = ws.search.findSimpleNodeBasePaginated(params, SearchSortField.AUTHOR, true, 0, 10, "com.openkm.plugin.search.TestNodeSearch"); System.out.println("Total: " + result.getTotal()); for (SimpleNodeBase nodeBase : result.getResults()) { if (nodeBase != null) { System.out.println(nodeBase.toString()); } } } catch (Exception e) { e.printStackTrace(); } }}getCategorizedDocuments
Sección titulada «getCategorizedDocuments»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getCategorizedDocuments(String categoryId) | List |
Obtiene una lista de todos los documentos relacionados con una categoría. |
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.Document;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); for (Document doc : ws.search.getCategorizedDocuments("58c9b25f-d83e-4006-bd78-e26d7c6fb648")) { System.out.println(doc); } } catch (Exception e) { e.printStackTrace(); } }}saveSearch
Sección titulada «saveSearch»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| saveSearch(QueryParams params) | long | Guarda unos parámetros de búsqueda. |
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.QueryParams;import com.openkm.sdk4j.bean.QueryResult;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); QueryParams qParams = new QueryParams(); qParams.setDomain(QueryParams.DOCUMENT + QueryParams.FOLDER); qParams.setName("test*"); for (QueryResult qr : ws.find(qParams, null)) { System.out.println(qr); } // Save the search to be used later qParams.setQueryName("sample search"); ws.search.saveSearch(qParams); } catch (Exception e) { e.printStackTrace(); } }}updateSearch
Sección titulada «updateSearch»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| updateSearch(QueryParams params) | void | Actualiza unos parámetros de búsqueda guardados previamente. |
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.QueryParams;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); for (QueryParams qParams : ws.getAllSearchs()) { if (qParams.getQueryName().equals("sample search")) { // Change some value. qParams.setName("admin*.html"); ws.search.updateSearch(qParams); } } } catch (Exception e) { e.printStackTrace(); } }}getSearch
Sección titulada «getSearch»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getSearch(int qpId) | QueryParams | Obtiene unos parámetros de búsqueda guardados. |
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.QueryParams;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); int qpId = 1; // Some valid search id QueryParams qParams = ws.search.getSearch(qpId); System.out.println(qParams); } catch (Exception e) { e.printStackTrace(); } }}getAllSearches
Sección titulada «getAllSearches»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getAllSearches() | List |
Obtiene una lista de todos los parámetros de búsqueda guardados. |
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.QueryParams;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); for (QueryParams qParams : ws.search.getAllSearches()) { System.out.println(qParams); } } catch (Exception e) { e.printStackTrace(); } }}deleteSearch
Sección titulada «deleteSearch»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| deleteSearch(int qpId) | void | Elimina unos parámetros de búsqueda guardados. |
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); int qpId = 1; // Some valid search id ws.search.deleteSearch(qpId); } catch (Exception e) { e.printStackTrace(); } }}getSearchConfig
Sección titulada «getSearchConfig»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getSearchConfig(String pluginName) | NodeSearchConfig | Devuelve un objeto NodeSearchConfig. |
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.NodeSearchConfig;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password);
NodeSearchConfig nodeSearchConfig = ws.search.getSearchConfig("com.openkm.plugin.search.TestNodeSearch"); System.out.println(nodeSearchConfig); } catch (Exception e) { e.printStackTrace(); } }}findAllDefaultByNodeClass
Sección titulada «findAllDefaultByNodeClass»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| findAllDefaultByNodeClass(long ncId) | List |
Obtiene una lista de búsquedas guardadas de un NodeClass |
Ejemplo:
package com.openkm;
import java.util.List;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.QueryParams;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); long ncId = 1; List<QueryParams> results = ws.search.findAllDefaultByNodeClass(ncId); for (QueryParams params : results) { System.out.println(params); } } catch (Exception e) { e.printStackTrace(); } }}findByQuery
Sección titulada «findByQuery»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| findByQuery(String query, String propertiesPlugin) | List |
Devuelve una lista de resultados filtrados por el parámetro query. |
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.*;import com.openkm.sdk4j.impl.OKMWebservices;
import java.util.List;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); List<QueryResult> results = ws.search.findByQuery("keyword:test AND name:t*.pdf", null); for (QueryResult qr : results) { System.out.println(qr); } } catch (Exception e) { e.printStackTrace(); } }}findByQuery
Sección titulada «findByQuery»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| findByQuery(String query, String sortField, boolean sortReverse, String propertiesPlugin) | List |
Devuelve una lista de resultados filtrados por el parámetro query. |
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.*;import com.openkm.sdk4j.impl.OKMWebservices;
import java.util.List;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); List<QueryResult> results = ws.search.findByQuery("keyword:test AND name:t*.pdf", SearchSortField.NAME, true, null); for (QueryResult qr : results) { System.out.println(qr); } } catch (Exception e) { e.printStackTrace(); } }}findSimpleNodeBaseByQueryPaginated
Sección titulada «findSimpleNodeBaseByQueryPaginated»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| findSimpleNodeBaseByQueryPaginated(String query, int offset, int limit) | SimpleNodeBaseResultSet | Devuelve una lista de resultados paginados filtrados por los valores del parámetro query. |
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.SimpleNodeBase;import com.openkm.sdk4j.bean.SimpleNodeBaseResultSet;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); SimpleNodeBaseResultSet result = ws.search.findSimpleNodeBaseByQueryPaginated("text:grial AND name:t*.pdF", 0, 10); for (SimpleNodeBase nodeBase : result.getResults()) { if (nodeBase != null) { System.out.println(nodeBase.toString()); } } System.out.println("Total: " + result.getTotal()); } catch (Exception e) { e.printStackTrace(); } }}findSimpleNodeBaseByQueryPaginated
Sección titulada «findSimpleNodeBaseByQueryPaginated»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| findSimpleNodeBaseByQueryPaginated(String query, String sortField, boolean sortReverse, int offset, int limit) | SimpleNodeBaseResultSet | Devuelve una lista de resultados paginados filtrados por los valores del parámetro query. |
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.*;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); SimpleNodeBaseResultSet result = ws.search.findSimpleNodeBaseByQueryPaginated("text:grial AND name:t*.pdF", SearchSortField.NAME, true, 0, 10); System.out.println("Total: " + result.getTotal()); for (SimpleNodeBase nodeBase : result.getResults()) { if (nodeBase != null) { System.out.println(nodeBase.toString()); } } } catch (Exception e) { e.printStackTrace(); } }}findWithMetadata
Sección titulada «findWithMetadata»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| findWithMetadata(QueryParams queryParams, String propertiesPlugin, List |
List |
Devuelve una lista de resultados con valores de metadatos filtrados por el parámetro queryParams. |
Ejemplo:
package com.openkm;
import java.util.ArrayList;import java.util.List;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.QueryParams;import com.openkm.sdk4j.bean.QueryResult;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); QueryParams qParams = new QueryParams(); qParams.setDomain(QueryParams.DOCUMENT + QueryParams.FOLDER); qParams.setName("test*");
List<String> groups = new ArrayList<>(); groups.add("okg:consulting");
for (QueryResult qr : ws.search.findWithMetadata(qParams, null, groups)) { System.out.println(qr); } } catch (Exception e) { e.printStackTrace(); } }}findWithMetadata
Sección titulada «findWithMetadata»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| findWithMetadata(QueryParams queryParams, String sortField, boolean sortReverse, String propertiesPlugin, List |
List |
Devuelve una lista de resultados con valores de metadatos filtrados por el parámetro queryParams. |
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.QueryParams;import com.openkm.sdk4j.bean.QueryResult;import com.openkm.sdk4j.bean.SearchSortField;import com.openkm.sdk4j.impl.OKMWebservices;
import java.util.ArrayList;import java.util.List;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); QueryParams params = new QueryParams(); params.setDomain(QueryParams.DOCUMENT + QueryParams.FOLDER); params.setName("test*");
List<String> groups = new ArrayList<>(); groups.add("okg:consulting"); for (QueryResult qr : ws.search.findWithMetadata(params, SearchSortField.NAME, true, null, groups)) { System.out.println(qr); }
} catch (Exception e) { e.printStackTrace(); } }}findWithMetadataPaginated
Sección titulada «findWithMetadataPaginated»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| findWithMetadataPaginated(QueryParams queryParams, int offset, int limit, String propertiesPlugin, List |
ResultSet | Devuelve una lista de resultados paginados con valores de metadatos filtrados por el parámetro queryParams. |
Ejemplo:
package com.openkm;
import java.util.ArrayList;import java.util.List;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.QueryParams;import com.openkm.sdk4j.bean.QueryResult;import com.openkm.sdk4j.bean.ResultSet;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); QueryParams qParams = new QueryParams(); qParams.setDomain(QueryParams.DOCUMENT + QueryParams.FOLDER); qParams.setName("test*");
List<String> groups = new ArrayList<>(); groups.add("okg:consulting");
ResultSet rs = ws.search.findWithMetadataPaginated(qParams, 0, 10, null, groups); System.out.println("Total results: " + rs.getTotal());
for (QueryResult qr : rs.getResults()) { System.out.println(qr); } } catch (Exception e) { e.printStackTrace(); } }}findWithMetadataPaginated
Sección titulada «findWithMetadataPaginated»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| findWithMetadataPaginated(QueryParams queryParams, int offset, int limit, String propertiesPlugin, List |
ResultSet | Devuelve una lista de resultados paginados con valores de metadatos filtrados por el parámetro queryParams. |
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.QueryParams;import com.openkm.sdk4j.bean.QueryResult;import com.openkm.sdk4j.bean.ResultSet;import com.openkm.sdk4j.bean.SearchSortField;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); QueryParams params = new QueryParams(); params.setDomain(QueryParams.DOCUMENT + QueryParams.FOLDER); params.setName("test*");
ResultSet rs = ws.search.findWithMetadataPaginated(params, SearchSortField.AUTHOR, true, 0, 10, null, groups); System.out.println("Total results: " + rs.getTotal()); for (QueryResult qr : rs.getResults()) { System.out.println(qr); } } catch (Exception e) { e.printStackTrace(); } }}csvExport
Sección titulada «csvExport»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| csvExport(String lang, QueryParams queryParams, List |
InputStream | Exporta como csv una lista de resultados filtrados por los valores del parámetro queryParams. |
- El parámetro lang debe cumplir con ISO 639-1.
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.QueryParams;import com.openkm.sdk4j.impl.OKMWebservices;import org.apache.commons.io.IOUtils;
import java.io.FileOutputStream;import java.io.InputStream;import java.io.OutputStream;import java.util.Collections;import java.util.List;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); QueryParams params = new QueryParams(); params.setDomain(QueryParams.DOCUMENT + QueryParams.FOLDER); params.setName("test*");
List<String> propertyGroups = Collections.emptyList(); InputStream is = ws.search.csvExport("es-ES", params, propertyGroups, false); OutputStream fos = new FileOutputStream("/home/openkm/okm/export.csv"); IOUtils.copy(is, fos); IOUtils.closeQuietly(is); IOUtils.closeQuietly(fos); } catch (Exception e) { e.printStackTrace(); } }}