package controllers.crud;
import static play.data.Form.*;
import javax.inject.Inject;
import models.SourceConfiguration;
import models.dao.SourceConfigurationDAO;
import play.data.Form;
import play.mvc.Call;
import play.mvc.Result;
import play.utils.crud.CRUDController;
import controllers.routes;
import forms.BulkConfiguration;
import play.Logger;
import play.Logger.ALogger;
public class SourceConfigurationCRUDController extends
CRUDController<Long, SourceConfiguration> {
private static ALogger log = Logger.of(SourceConfigurationCRUDController.class);
Form<BulkConfiguration> bulkForm = form(BulkConfiguration.class);
private SourceConfigurationDAO sourceConfigurationDAO;
@Inject
public SourceConfigurationCRUDController(SourceConfigurationDAO dao) {
super(dao, form(SourceConfiguration.class), Long.class,
SourceConfiguration.class, 20, "sourceKey");
sourceConfigurationDAO = dao;
}
@Override
protected String templateForList() {
return "admin.configList";
}
@Override
protected String templateForForm() {
return "admin.configForm";
}
@Override
protected String templateForShow() {
return "admin.configShow";
}
@Override
protected Call toIndex() {
return routes.Admin.sourceConfigurationList(0);
}
protected String templateForBulkForm() {
return "admin.configBulkForm";
}
public Result newBulkForm() {
if (log.isDebugEnabled())
log.debug("newBulkForm() <-");
return ok(templateForBulkForm(),
with(Long.class, null).and(Form.class, bulkForm));
}
public Result createBulk() {
if (log.isDebugEnabled())
log.debug("createBulk() <-");
Form<BulkConfiguration> filledForm = bulkForm.bindFromRequest();
if (filledForm.hasErrors()) {
if (log.isDebugEnabled())
log.debug("validation errors occured");
return badRequest(templateForBulkForm(),
with(Long.class, null).and(Form.class, filledForm));
} else {
BulkConfiguration formModel = filledForm.get();
SourceConfiguration model = formModel.toModel();
sourceConfigurationDAO.create(model);
if (log.isDebugEnabled())
log.debug("entity created");
return redirect(toIndex());
}
}
public Result editBulkForm(Long key) {
if (log.isDebugEnabled())
log.debug("editBulkForm() <-" + key);
SourceConfiguration model = sourceConfigurationDAO.get(key);
if (log.isDebugEnabled())
log.debug("model : " + model);
BulkConfiguration formModel = new BulkConfiguration(model);
Form<BulkConfiguration> frm = bulkForm.fill(formModel);
return ok(templateForBulkForm(), with(Long.class, key).and(Form.class, frm));
}
public Result updateBulk(Long key) {
if (log.isDebugEnabled())
log.debug("updateBulk() <-" + key);
SourceConfiguration original = sourceConfigurationDAO.get(key);
if (log.isDebugEnabled())
log.debug("original : " + original);
BulkConfiguration dbModel = new BulkConfiguration(original);
Form<BulkConfiguration> filledForm = bulkForm.fill(dbModel).bindFromRequest();
if (log.isDebugEnabled())
log.debug("filledForm : " + filledForm);
if (filledForm.hasErrors()) {
if (log.isDebugEnabled())
log.debug("validation errors occured");
return badRequest(templateForBulkForm(),
with(Long.class, key).and(Form.class, filledForm));
} else {
BulkConfiguration formModel = filledForm.get();
if (log.isDebugEnabled())
log.debug("formModel : " + formModel);
SourceConfiguration model = formModel.toModel();
if (log.isDebugEnabled())
log.debug("model : " + model);
sourceConfigurationDAO.update(model);
if (log.isDebugEnabled())
log.debug("entity updated");
return redirect(toIndex());
}
}
}