src/main/java/org/languages/controllers/HomeController.java:
This is an empty controller for displaying the welcome screen.
package org.languages.controllers;
// import statements hidden
public class HomeController extends Controller {
}
src/main/java/org/languages/controllers/ParadigmsController.java:
Controller to manage Paradigm entities.
package org.languages.controllers;
// import statements hidden
public class ParadigmsController extends Controller {
@InjectRepository
private ParadigmRepository paradigmRepository;
public void index() {
setRequestAttribute("paradigms", paradigmRepository.findAll());
}
public void edit(Integer paradigmId) {
setEditedParadigm(paradigmRepository.find(paradigmId));
}
public void delete(Integer paradigmId) {
Paradigm paradigm = paradigmRepository.find(paradigmId, true);
paradigmRepository.remove(paradigm);
redirect("Paradigms");
}
public void create() {
Paradigm paradigm = updateModel(new Paradigm(), "paradigm");
if(paradigm.isValid()) {
paradigmRepository.persist(paradigm);
setSuccessFlash();
redirect("Paradigms");
} else {
setEditedParadigm(paradigm);
render("add");
}
}
public void update(Integer paradigmId) {
Paradigm paradigm = paradigmRepository.find(paradigmId, true);
paradigm = updateModel(paradigm, "paradigm");
if(paradigm.isValid()) {
paradigmRepository.merge(paradigm);
setSuccessFlash();
redirect("Paradigms");
} else {
setEditedParadigm(paradigm);
render("add");
}
}
private void setEditedParadigm(Paradigm paradigm) {
setRequestAttribute("paradigm", paradigm);
}
private void setSuccessFlash() {
setFlash("paradigmSuccess", "Paradigm was saved successfully!");
}
}
src/main/java/org/languages/controllers/ExecutionEnvironmentsController.java:
Controller to manage ExecutionEnvironment entities.
package org.languages.controllers;
// import statements hidden
public class ExecutionEnvironmentsController extends Controller {
@InjectRepository
private ExecutionEnvironmentRepository environmentRepository;
public void index() {
setRequestAttribute("environments", environmentRepository.findAll());
}
public void edit(Integer environmentId) {
setEditedEnvironment(environmentRepository.find(environmentId));
}
public void delete(Integer environmentId) {
ExecutionEnvironment environment = environmentRepository.find(environmentId, true);
environmentRepository.remove(environment);
redirect("ExecutionEnvironments");
}
public void create() {
ExecutionEnvironment environment = updateModel(new ExecutionEnvironment(), "environment");
if(environment.isValid()) {
environmentRepository.persist(environment);
setSuccessFlash();
redirect("ExecutionEnvironments");
} else {
setEditedEnvironment(environment);
render("add");
}
}
public void update(Integer environmentId) {
ExecutionEnvironment environment = environmentRepository.find(environmentId, true);
environment = updateModel(environment, "environment");
if(environment.isValid()) {
environmentRepository.merge(environment);
setSuccessFlash();
redirect("ExecutionEnvironments");
} else {
setEditedEnvironment(environment);
render("edit");
}
}
private void setEditedEnvironment(ExecutionEnvironment environment) {
setRequestAttribute("environment", environment);
}
private void setSuccessFlash() {
setFlash("environmentSuccess", "Execution Environment was saved successfully!");
}
}
src/main/java/org/languages/controllers/LanguagesController.java:
Controller to manage Language entities.
package org.languages.controllers;
// import statements hidden
public class LanguagesController extends Controller {
@InjectRepository
private ExecutionEnvironmentRepository executionEnvironmentRepository;
@InjectRepository
private ParadigmRepository paradigmRepository;
@InjectRepository
private LanguageRepository languageRepository;
private AssociationsProvider provider = new AssociationsProvider() {
public Object getAssociation(String property, String[] values) {
if(property.equals("paradigms"))
return getParadigms(values);
else if(property.equals("executionEnvironment"))
return getExecutionEnvironment(values[0]);
return null;
}
private ExecutionEnvironment getExecutionEnvironment(String value) {
if(value == null || value.length() == 0)
return null;
return executionEnvironmentRepository.find(Integer.valueOf(value));
}
private List<Paradigm> getParadigms(String[] values) {
List<Paradigm> paradigms = new ArrayList<Paradigm>();
for(String value : values)
if(value != null && value.length() > 0)
paradigms.add(paradigmRepository.find(Integer.valueOf(value)));
return paradigms;
}
};
public void index() {
setRequestAttribute("languages", languageRepository.findAll());
}
public void add() {
loadFormData();
}
public void edit(Integer languageId) {
setEditedLanguage(languageRepository.find(languageId));
loadFormData();
}
public void delete(Integer languageId) {
Language language = languageRepository.find(languageId, true);
languageRepository.remove(language);
redirect("Languages");
}
public void create() {
Language language = updateModel(new Language(), "language", provider);
if(language.isValid()) {
languageRepository.persist(language);
setSuccessFlash();
redirect("Languages");
} else {
setEditedLanguage(language);
loadFormData();
render("add");
}
}
public void update(Integer languageId) {
Language language = languageRepository.find(languageId, true);
language = updateModel(language, "language", provider);
if(language.isValid()) {
languageRepository.merge(language);
setSuccessFlash();
redirect("Languages");
} else {
setEditedLanguage(language);
loadFormData();
render("edit");
}
}
private void loadFormData() {
setRequestAttribute("paradigms", paradigmRepository.findAll());
setRequestAttribute("environments", executionEnvironmentRepository.findAll());
}
private void setEditedLanguage(Language language) {
setRequestAttribute("language", language);
}
private void setSuccessFlash() {
setFlash("languageSuccess", "Language was saved successfully!");
}
}