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