Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/17Franco/CulturarteWeb/llms.txt

Use this file to discover all available pages before exploring further.

The /Buscador servlet is the public discovery hub of CulturarteWeb. It accepts an optional free-text filter and an optional category filter, delegates to the SOAP back-end for the actual query, groups results by state, and forwards to index.jsp for rendering. Because it is registered as a welcome-file, it is also reachable at the context root (/).

URL pattern

PatternNotes
/BuscadorExplicit path
/Welcome-file alias (context root)
No session or authentication is required — the endpoint is fully public.

GET /Buscador

Request parameters

filtro
string
Free-text search string. Passed directly to portU.buscarPropuestas(filtro). If omitted or empty, an empty string is used, which typically returns all non-INGRESADA proposals from the SOAP layer.
categoria
string
Subcategory name to filter by. When present (and non-empty), the servlet calls portU.obtenerPropuestaPorSubCategoria(categoria) and the filtro parameter is ignored.
orden
string
Ordering hint. Currently all code paths sort results by fechaString descending regardless of the value supplied. Accepted by the servlet but has no effect on the order returned to the view.

Query routing

categoria present & non-empty?
    YES → portU.obtenerPropuestaPorSubCategoria(categoria)
    NO  → portU.buscarPropuestas(filtro)   // filtro defaults to "" if absent

Result grouping

After the SOAP call returns a flat List<DtoPropuesta>, the servlet:
  1. Sorts the list by fechaString descending (most recent first).
  2. Builds a Map<String, List<DtoPropuesta>> keyed by state name:
    • "Todas" — the complete sorted list (contains all states returned by SOAP, which already excludes INGRESADA).
    • One entry per distinct estadoAct.name() found in the list (e.g. "ACEPTADA", "PUBLICADA", "EN_FINANCIACION", "FINANCIADA", "NO_FINANCIADA").
The SOAP methods buscarPropuestas and obtenerPropuestaPorSubCategoria do not return proposals with state INGRESADA. The servlet therefore never needs to filter them out on the Java side — the exclusion happens at the service layer.

Request attribute set for the view

AttributeTypeDescription
propuestasPorEstadoMap<String, List<DtoPropuesta>>Grouped results. index.jsp uses this to render the tabbed/filtered proposal grid.
The servlet forwards to index.jsp.

Examples

Browse all proposals (welcome-file shortcut)

curl -i "http://localhost:8080/CulturarteWeb/"
curl -i "http://localhost:8080/CulturarteWeb/Buscador?filtro=jazz"

Filter by subcategory

curl -i "http://localhost:8080/CulturarteWeb/Buscador?categoria=Musica"

Combine subcategory and order hint

curl -i "http://localhost:8080/CulturarteWeb/Buscador?categoria=Teatro&orden=fecha"
Category names are case-sensitive and must match the values returned by portU.getCategorias(). Use the /AltaPropuesta GET response to discover valid category and subcategory names.

Build docs developers (and LLMs) love