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!"); } }