All Downloads are FREE. Search and download functionalities are using the official Maven repository.

fr.ird.observe.client.form.simple.SimpleDataFormUIModel Maven / Gradle / Ivy

package fr.ird.observe.client.form.simple;

/*-
 * #%L
 * ObServe Toolkit :: Common Client
 * %%
 * Copyright (C) 2008 - 2017 IRD, Ultreia.io
 * %%
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as
 * published by the Free Software Foundation, either version 3 of the
 * License, or (at your option) any later version.
 * 
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public
 * License along with this program.  If not, see
 * .
 * #L%
 */

import fr.ird.observe.client.form.FormUIModel;
import fr.ird.observe.client.form.WithBeanTypeFormModel;
import fr.ird.observe.client.spi.context.DataDtoUIContext;
import fr.ird.observe.dto.IdHelper;
import fr.ird.observe.dto.data.DataDto;
import fr.ird.observe.dto.form.Form;
import fr.ird.observe.services.service.referential.ReferentialDtoCacheManager;

/**
 * Created by tchemit on 02/10/17.
 *
 * @author Tony Chemit - [email protected]
 */
public class SimpleDataFormUIModel extends FormUIModel implements WithBeanTypeFormModel {

    private final DataDtoUIContext dtoContext;
    private final String selectedParentId;
    private final String selectedId;
    protected D bean;
    protected Form form;

    public SimpleDataFormUIModel(DataDtoUIContext dtoContext) {
        this.dtoContext = dtoContext;
        this.selectedId = dtoContext.getSelectedId();
        this.selectedParentId = dtoContext.getParent().getSelectedId();
    }

    public String getSelectedParentId() {
        return selectedParentId;
    }

    public String getSelectedId() {
        return selectedId;
    }

    public D getBean() {
        return bean;
    }

    public void setBean(D bean) {
        this.bean = bean;
    }

    public DataDtoUIContext getDtoContext() {
        return dtoContext;
    }

    @Override
    public Class getBeanType() {
        return dtoContext.getType();
    }

    //FIXME!!!
//    void loadOrPreCreateForm(ReferentialDtoCacheManager dataSource, String parentId, String id) {
//
//        if (id == null) {
//            PreCreateFormRequestDto preCreateFormRequest = PreCreateFormRequestDto.of(parentId);
//            preCreateForm(dataSource, preCreateFormRequest);
//            return;
//        }
//
//        LoadFormRequestDto loadFormRequest;
//        if (parentId == null) {
//            loadFormRequest = LoadFormRequestDto.of(id);
//        } else {
//            loadFormRequest = LoadFormRequestDto.of(parentId, id);
//        }
//        loadForm(dataSource, loadFormRequest);
//    }


//    protected void loadForm(ReferentialDtoCacheManager dataSource, LoadFormRequestDto loadFormRequest) {
//        form = getLoadDtoFormServiceAction().loadForm(loadFormRequest);
//        formUIContext.loadFormDependencies(dataSource, dtoContext.formContext().toFormDefinition(), true);
//        formUIContext.updateUi(this);
//        form.copyTo(getBean());
//    }
//
//    protected Form loadForm(ReferentialDtoCacheManager dataSource, String id) {
//        form = getLoadDtoFormServiceAction().loadForm(LoadFormRequestDto.of(id));
//        formUIContext.loadFormDependencies(dataSource, dtoContext.formContext().toFormDefinition(), true);
//        formUIContext.updateUi(this);
//        form.copyTo(getBean());
//        return form;
//    }
//
//    void preCreateForm(ReferentialDtoCacheManager dataSource, PreCreateFormRequestDto preCreateFormRequest) {
//        form = getPreCreateFormServiceAction().preCreate(preCreateFormRequest);
//        formUIContext.loadFormDependencies(dataSource, dtoContext.formContext().toFormDefinition(), true);
//        formUIContext.updateUi(this);
//        form.copyTo(getBean());
//    }
//
//    public SaveResultDto save(D bean) {
//        return getSaveDtoServiceAction().save(SaveRequestDto.of(bean));
//    }
//
//    public SaveResultDto save(String parentId, D bean) {
//        return getSaveDtoServiceAction().save(SaveRequestDto.of(parentId, bean));
//    }


//    public DeleteResultDto delete(String id) {
//        return formUIContext.getDeleteServiceAction().delete(DeleteRequestDto.of(id));
//    }
//
//    public DeleteResultDto delete(String parentId, String id) {
//        return formUIContext.getDeleteServiceAction().delete(DeleteRequestDto.of(parentId, id));
//    }

    public void loadFormDependencies(ReferentialDtoCacheManager cacheManager, boolean clear) {
        formUIContext.loadFormDependencies(cacheManager, dtoContext.formContext().toFormDefinition(), clear);
    }

    public void updateUi() {
        formUIContext.updateUi(this);
    }

    @Override
    protected String computePrefix() {
        return "[" + IdHelper.getDtoSimplifiedName(getBeanType()) + "UI] ";
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy