initial
This commit is contained in:
		
							
								
								
									
										23
									
								
								src/main/java/de/jottyfan/bico/Main.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								src/main/java/de/jottyfan/bico/Main.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,23 @@ | ||||
| package de.jottyfan.bico; | ||||
|  | ||||
| import org.springframework.boot.SpringApplication; | ||||
| import org.springframework.boot.autoconfigure.SpringBootApplication; | ||||
| import org.springframework.boot.builder.SpringApplicationBuilder; | ||||
| import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; | ||||
|  | ||||
| /** | ||||
|  * | ||||
|  * @author jotty | ||||
|  * | ||||
|  */ | ||||
| @SpringBootApplication | ||||
| public class Main extends SpringBootServletInitializer { | ||||
| 	@Override | ||||
| 	protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { | ||||
| 		return application.sources(Main.class); | ||||
| 	} | ||||
|  | ||||
| 	public static void main(String[] args) { | ||||
| 		SpringApplication.run(Main.class, args); | ||||
| 	} | ||||
| } | ||||
| @@ -0,0 +1,40 @@ | ||||
| package de.jottyfan.bico.config; | ||||
|  | ||||
| import javax.sql.DataSource; | ||||
|  | ||||
| import org.jooq.SQLDialect; | ||||
| import org.jooq.impl.DataSourceConnectionProvider; | ||||
| import org.jooq.impl.DefaultConfiguration; | ||||
| import org.jooq.impl.DefaultDSLContext; | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
| import org.springframework.context.annotation.Bean; | ||||
| import org.springframework.context.annotation.Configuration; | ||||
| import org.springframework.jdbc.datasource.TransactionAwareDataSourceProxy; | ||||
|  | ||||
| /** | ||||
|  * | ||||
|  * @author jotty | ||||
|  * | ||||
|  */ | ||||
| @Configuration | ||||
| public class DatabaseConfiguration { | ||||
| 	@Autowired | ||||
| 	private DataSource dataSource; | ||||
|  | ||||
| 	@Bean | ||||
| 	public DataSourceConnectionProvider connectionProvider() { | ||||
| 		return new DataSourceConnectionProvider(new TransactionAwareDataSourceProxy(dataSource)); | ||||
| 	} | ||||
|  | ||||
| 	@Bean | ||||
| 	public DefaultDSLContext dsl() { | ||||
| 		return new DefaultDSLContext(configuration()); | ||||
| 	} | ||||
|  | ||||
| 	public DefaultConfiguration configuration() { | ||||
| 		DefaultConfiguration jooqConfiguration = new DefaultConfiguration(); | ||||
| 		jooqConfiguration.set(connectionProvider()); | ||||
| 		jooqConfiguration.set(SQLDialect.POSTGRES); | ||||
| 		return jooqConfiguration; | ||||
| 	} | ||||
| } | ||||
							
								
								
									
										10
									
								
								src/main/java/de/jottyfan/bico/modules/CommonController.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								src/main/java/de/jottyfan/bico/modules/CommonController.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,10 @@ | ||||
| package de.jottyfan.bico.modules; | ||||
|  | ||||
| /** | ||||
|  * | ||||
|  * @author jotty | ||||
|  * | ||||
|  */ | ||||
| public abstract class CommonController { | ||||
|  | ||||
| } | ||||
| @@ -0,0 +1,19 @@ | ||||
| package de.jottyfan.bico.modules.index; | ||||
|  | ||||
| import org.springframework.stereotype.Controller; | ||||
| import org.springframework.web.bind.annotation.GetMapping; | ||||
|  | ||||
| import de.jottyfan.bico.modules.CommonController; | ||||
|  | ||||
| /** | ||||
|  * | ||||
|  * @author jotty | ||||
|  * | ||||
|  */ | ||||
| @Controller | ||||
| public class IndexController extends CommonController { | ||||
| 	@GetMapping("/") | ||||
| 	public String getIndex() { | ||||
| 		return "redirect:/sheet"; | ||||
| 	} | ||||
| } | ||||
| @@ -0,0 +1,25 @@ | ||||
| package de.jottyfan.bico.modules.index.model; | ||||
|  | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
| import org.springframework.boot.info.BuildProperties; | ||||
| import org.springframework.stereotype.Component; | ||||
|  | ||||
| /** | ||||
|  * | ||||
|  * @author jotty | ||||
|  * | ||||
|  */ | ||||
| @Component | ||||
| public class ManifestBean { | ||||
|  | ||||
| 	@Autowired(required = false) | ||||
| 	private BuildProperties buildProperties; | ||||
|  | ||||
| 	/** | ||||
| 	 * @return the version of this project | ||||
| 	 */ | ||||
| 	public String getVersion() { | ||||
| 		return buildProperties != null ? buildProperties.getVersion() | ||||
| 				: this.getClass().getPackage().getImplementationVersion(); | ||||
| 	} | ||||
| } | ||||
| @@ -0,0 +1,26 @@ | ||||
| package de.jottyfan.bico.modules.sheet; | ||||
|  | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
| import org.springframework.stereotype.Controller; | ||||
| import org.springframework.ui.Model; | ||||
| import org.springframework.web.bind.annotation.GetMapping; | ||||
|  | ||||
| import de.jottyfan.bico.modules.CommonController; | ||||
|  | ||||
| /** | ||||
|  * | ||||
|  * @author jotty | ||||
|  * | ||||
|  */ | ||||
| @Controller | ||||
| public class SheetController extends CommonController { | ||||
|  | ||||
| 	@Autowired | ||||
| 	private SheetService service; | ||||
|  | ||||
| 	@GetMapping("/sheet") | ||||
| 	public String getSheet(Model model) { | ||||
| 		model.addAttribute("list", service.getList()); | ||||
| 		return "/sheet"; | ||||
| 	} | ||||
| } | ||||
| @@ -0,0 +1,54 @@ | ||||
| package de.jottyfan.bico.modules.sheet; | ||||
|  | ||||
| import static de.jottyfan.bico.db.Tables.V_CALENDAR; | ||||
|  | ||||
| import java.time.LocalDate; | ||||
| import java.util.ArrayList; | ||||
| import java.util.List; | ||||
|  | ||||
| import org.apache.logging.log4j.LogManager; | ||||
| import org.apache.logging.log4j.Logger; | ||||
| import org.jooq.DSLContext; | ||||
| import org.jooq.SelectSeekStep1; | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
| import org.springframework.stereotype.Repository; | ||||
|  | ||||
| import de.jottyfan.bico.db.tables.records.VCalendarRecord; | ||||
| import de.jottyfan.bico.modules.sheet.model.SheetBean; | ||||
|  | ||||
| /** | ||||
|  * | ||||
|  * @author jotty | ||||
|  * | ||||
|  */ | ||||
| @Repository | ||||
| public class SheetRepository { | ||||
|  | ||||
| 	private static final Logger LOGGER = LogManager.getLogger(SheetRepository.class); | ||||
|  | ||||
| 	@Autowired | ||||
| 	private DSLContext jooq; | ||||
|  | ||||
| 	public List<SheetBean> getList() { | ||||
| 		SelectSeekStep1<VCalendarRecord, LocalDate> sql = jooq.selectFrom(V_CALENDAR).orderBy(V_CALENDAR.SLOT_DAY); | ||||
| 		LOGGER.trace(sql.toString()); | ||||
| 		List<SheetBean> list = new ArrayList<>(); | ||||
| 		for (VCalendarRecord r : sql.fetch()) { | ||||
| 			SheetBean bean = new SheetBean(); | ||||
| 			bean.setAbbreviation(r.getAbbreviation()); | ||||
| 			bean.setBibleverse(r.getBibleverse()); | ||||
| 			bean.setBookPages(r.getBookPages()); | ||||
| 			bean.setFullname(r.getFullname()); | ||||
| 			bean.setLessonNotes(r.getLessonNotes()); | ||||
| 			bean.setSlotDay(r.getSlotDay()); | ||||
| 			bean.setSlotNotes(r.getSlotNotes()); | ||||
| 			bean.setSourceName(r.getSourceName()); | ||||
| 			bean.setSubjectNotes(r.getSubjectNotes()); | ||||
| 			bean.setSubtheme(r.getSubtheme()); | ||||
| 			bean.setTheme(r.getTheme()); | ||||
| 			bean.setWorksheets(r.getWorksheets()); | ||||
| 			list.add(bean); | ||||
| 		} | ||||
| 		return list; | ||||
| 	} | ||||
| } | ||||
| @@ -0,0 +1,25 @@ | ||||
| package de.jottyfan.bico.modules.sheet; | ||||
|  | ||||
| import java.util.List; | ||||
|  | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
| import org.springframework.stereotype.Service; | ||||
|  | ||||
| import de.jottyfan.bico.modules.sheet.model.SheetBean; | ||||
|  | ||||
| /** | ||||
|  * | ||||
|  * @author jotty | ||||
|  * | ||||
|  */ | ||||
| @Service | ||||
| public class SheetService { | ||||
|  | ||||
| 	@Autowired | ||||
| 	private SheetRepository repository; | ||||
|  | ||||
| 	public List<SheetBean> getList() { | ||||
| 		return repository.getList(); | ||||
| 	} | ||||
|  | ||||
| } | ||||
| @@ -0,0 +1,194 @@ | ||||
| package de.jottyfan.bico.modules.sheet.model; | ||||
|  | ||||
| import java.io.Serializable; | ||||
| import java.time.LocalDate; | ||||
|  | ||||
| /** | ||||
|  * | ||||
|  * @author jotty | ||||
|  * | ||||
|  */ | ||||
| public class SheetBean implements Serializable { | ||||
| 	private static final long serialVersionUID = 1L; | ||||
|  | ||||
| 	private LocalDate slotDay; | ||||
| 	private String fullname; | ||||
| 	private String abbreviation; | ||||
| 	private String sourceName; | ||||
| 	private String theme; | ||||
| 	private String subtheme; | ||||
| 	private String bookPages; | ||||
| 	private String worksheets; | ||||
| 	private String bibleverse; | ||||
| 	private String subjectNotes; | ||||
| 	private String lessonNotes; | ||||
| 	private String slotNotes; | ||||
|  | ||||
| 	/** | ||||
| 	 * @return the slotDay | ||||
| 	 */ | ||||
| 	public LocalDate getSlotDay() { | ||||
| 		return slotDay; | ||||
| 	} | ||||
|  | ||||
| 	/** | ||||
| 	 * @param slotDay the slotDay to set | ||||
| 	 */ | ||||
| 	public void setSlotDay(LocalDate slotDay) { | ||||
| 		this.slotDay = slotDay; | ||||
| 	} | ||||
|  | ||||
| 	/** | ||||
| 	 * @return the fullname | ||||
| 	 */ | ||||
| 	public String getFullname() { | ||||
| 		return fullname; | ||||
| 	} | ||||
|  | ||||
| 	/** | ||||
| 	 * @param fullname the fullname to set | ||||
| 	 */ | ||||
| 	public void setFullname(String fullname) { | ||||
| 		this.fullname = fullname; | ||||
| 	} | ||||
|  | ||||
| 	/** | ||||
| 	 * @return the abbreviation | ||||
| 	 */ | ||||
| 	public String getAbbreviation() { | ||||
| 		return abbreviation; | ||||
| 	} | ||||
|  | ||||
| 	/** | ||||
| 	 * @param abbreviation the abbreviation to set | ||||
| 	 */ | ||||
| 	public void setAbbreviation(String abbreviation) { | ||||
| 		this.abbreviation = abbreviation; | ||||
| 	} | ||||
|  | ||||
| 	/** | ||||
| 	 * @return the sourceName | ||||
| 	 */ | ||||
| 	public String getSourceName() { | ||||
| 		return sourceName; | ||||
| 	} | ||||
|  | ||||
| 	/** | ||||
| 	 * @param sourceName the sourceName to set | ||||
| 	 */ | ||||
| 	public void setSourceName(String sourceName) { | ||||
| 		this.sourceName = sourceName; | ||||
| 	} | ||||
|  | ||||
| 	/** | ||||
| 	 * @return the theme | ||||
| 	 */ | ||||
| 	public String getTheme() { | ||||
| 		return theme; | ||||
| 	} | ||||
|  | ||||
| 	/** | ||||
| 	 * @param theme the theme to set | ||||
| 	 */ | ||||
| 	public void setTheme(String theme) { | ||||
| 		this.theme = theme; | ||||
| 	} | ||||
|  | ||||
| 	/** | ||||
| 	 * @return the subtheme | ||||
| 	 */ | ||||
| 	public String getSubtheme() { | ||||
| 		return subtheme; | ||||
| 	} | ||||
|  | ||||
| 	/** | ||||
| 	 * @param subtheme the subtheme to set | ||||
| 	 */ | ||||
| 	public void setSubtheme(String subtheme) { | ||||
| 		this.subtheme = subtheme; | ||||
| 	} | ||||
|  | ||||
| 	/** | ||||
| 	 * @return the bookPages | ||||
| 	 */ | ||||
| 	public String getBookPages() { | ||||
| 		return bookPages; | ||||
| 	} | ||||
|  | ||||
| 	/** | ||||
| 	 * @param bookPages the bookPages to set | ||||
| 	 */ | ||||
| 	public void setBookPages(String bookPages) { | ||||
| 		this.bookPages = bookPages; | ||||
| 	} | ||||
|  | ||||
| 	/** | ||||
| 	 * @return the worksheets | ||||
| 	 */ | ||||
| 	public String getWorksheets() { | ||||
| 		return worksheets; | ||||
| 	} | ||||
|  | ||||
| 	/** | ||||
| 	 * @param worksheets the worksheets to set | ||||
| 	 */ | ||||
| 	public void setWorksheets(String worksheets) { | ||||
| 		this.worksheets = worksheets; | ||||
| 	} | ||||
|  | ||||
| 	/** | ||||
| 	 * @return the bibleverse | ||||
| 	 */ | ||||
| 	public String getBibleverse() { | ||||
| 		return bibleverse; | ||||
| 	} | ||||
|  | ||||
| 	/** | ||||
| 	 * @param bibleverse the bibleverse to set | ||||
| 	 */ | ||||
| 	public void setBibleverse(String bibleverse) { | ||||
| 		this.bibleverse = bibleverse; | ||||
| 	} | ||||
|  | ||||
| 	/** | ||||
| 	 * @return the subjectNotes | ||||
| 	 */ | ||||
| 	public String getSubjectNotes() { | ||||
| 		return subjectNotes; | ||||
| 	} | ||||
|  | ||||
| 	/** | ||||
| 	 * @param subjectNotes the subjectNotes to set | ||||
| 	 */ | ||||
| 	public void setSubjectNotes(String subjectNotes) { | ||||
| 		this.subjectNotes = subjectNotes; | ||||
| 	} | ||||
|  | ||||
| 	/** | ||||
| 	 * @return the lessonNotes | ||||
| 	 */ | ||||
| 	public String getLessonNotes() { | ||||
| 		return lessonNotes; | ||||
| 	} | ||||
|  | ||||
| 	/** | ||||
| 	 * @param lessonNotes the lessonNotes to set | ||||
| 	 */ | ||||
| 	public void setLessonNotes(String lessonNotes) { | ||||
| 		this.lessonNotes = lessonNotes; | ||||
| 	} | ||||
|  | ||||
| 	/** | ||||
| 	 * @return the slotNotes | ||||
| 	 */ | ||||
| 	public String getSlotNotes() { | ||||
| 		return slotNotes; | ||||
| 	} | ||||
|  | ||||
| 	/** | ||||
| 	 * @param slotNotes the slotNotes to set | ||||
| 	 */ | ||||
| 	public void setSlotNotes(String slotNotes) { | ||||
| 		this.slotNotes = slotNotes; | ||||
| 	} | ||||
| } | ||||
		Reference in New Issue
	
	Block a user