> For the complete documentation index, see [llms.txt](https://avbravo-2.gitbook.io/implementar-plantillas-primefaces-jsf/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://avbravo-2.gitbook.io/implementar-plantillas-primefaces-jsf/capitulo-vi-controller/prepare.md).

# Prepare

Se utiliza para las operaciones

* new,
* search
* writable,
* edit.

```java
// <editor-fold defaultstate="collapsed" desc="prepare(String action, Object... item)">
    @Override
    public String prepare(String action, Object... item) {
        String url = "";
        try {
            switch (action) {
                case "new":
                    bodega = new Bodega();
                    bodegaSelected = new Bodega();

                    writable = false;
                    break;

                case "edit":
                    if (item.length != 0) {
                        bodegaSelected = (Bodega) item[0];
                        bodega = bodegaSelected;
                        FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put("pagebodega", page.toString());
                    }

                    url = "/pages/bodega/view.xhtml";
                    break;
                case "golist":
                    url = "/pages/bodega/list.xhtml";
                    break;

                case "gonew":
                    url = "/pages/bodega/new.xhtml";
                    break;
            }

        } catch (Exception e) {
            JsfUtil.errorMessage("prepare() " + e.getLocalizedMessage());
        }

        return url;
    }// </editor-fold>
```
