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

com.commercetools.sunrise.common.localization.changecountry.SunriseChangeCountryController Maven / Gradle / Ivy

The newest version!
package com.commercetools.sunrise.common.localization.changecountry;

import com.commercetools.sunrise.framework.controllers.SunriseFormController;
import com.commercetools.sunrise.framework.controllers.WithFormFlow;
import com.commercetools.sunrise.framework.hooks.EnableHooks;
import com.commercetools.sunrise.framework.reverserouters.SunriseRoute;
import com.commercetools.sunrise.framework.reverserouters.common.localization.LocalizationReverseRouter;
import play.data.FormFactory;
import play.mvc.Result;

import java.util.concurrent.CompletionStage;

import static java.util.concurrent.CompletableFuture.completedFuture;

public abstract class SunriseChangeCountryController extends SunriseFormController
        implements WithFormFlow {

    private final ChangeCountryFormData formData;
    private final ChangeCountryControllerAction controllerAction;

    protected SunriseChangeCountryController(final FormFactory formFactory, final ChangeCountryFormData formData,
                                             final ChangeCountryControllerAction controllerAction) {
        super(formFactory);
        this.formData = formData;
        this.controllerAction = controllerAction;
    }

    @Override
    public final Class getFormDataClass() {
        return formData.getClass();
    }

    @EnableHooks
    @SunriseRoute(LocalizationReverseRouter.CHANGE_COUNTRY_PROCESS)
    public CompletionStage process(final String languageTag) {
        return processForm(null);
    }

    @Override
    public CompletionStage executeAction(final Void input, final ChangeCountryFormData formData) {
        controllerAction.accept(formData);
        return completedFuture(null);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy