restructured packages - aligned the whole project to use a similar package layout for classes with similar purpose

removed context aware template support
This commit is contained in:
Sheldan
2020-04-07 23:27:48 +02:00
parent 523aaaae2a
commit da28831ff9
187 changed files with 446 additions and 419 deletions

View File

@@ -1,6 +1,6 @@
package dev.sheldan.abstracto.templating.seeding;
package dev.sheldan.abstracto.templating.config;
import dev.sheldan.abstracto.templating.TemplateService;
import dev.sheldan.abstracto.templating.service.management.TemplateManagementService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.FilenameUtils;
import org.apache.commons.io.IOUtils;
@@ -24,7 +24,7 @@ public class TemplateSeedDataLoader {
private Resource[] resources;
@Autowired
private TemplateService service;
private TemplateManagementService service;
@EventListener
public void handleContextRefreshEvent(ContextRefreshedEvent ctxStartEvt) {

View File

@@ -1,7 +1,8 @@
package dev.sheldan.abstracto.templating.loading;
import dev.sheldan.abstracto.templating.TemplateDto;
import dev.sheldan.abstracto.templating.TemplateService;
import dev.sheldan.abstracto.templating.model.database.Template;
import dev.sheldan.abstracto.templating.service.TemplateService;
import dev.sheldan.abstracto.templating.service.management.TemplateManagementService;
import freemarker.cache.TemplateLoader;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@@ -16,17 +17,20 @@ public class DatabaseTemplateLoader implements TemplateLoader {
@Autowired
private TemplateService templateService;
@Autowired
private TemplateManagementService templateManagementService;
@Override
public Object findTemplateSource(String s) throws IOException {
return templateService.getTemplateByKey(s);
return templateManagementService.getTemplateByKey(s);
}
@Override
public long getLastModified(Object o) {
TemplateDto casted = (TemplateDto) o;
TemplateDto templateDtoByKey = templateService.getTemplateByKey(casted.getKey());
if(templateDtoByKey != null){
return templateDtoByKey.getLastModified().getEpochSecond();
Template casted = (Template) o;
Template templateByKey = templateManagementService.getTemplateByKey(casted.getKey());
if(templateByKey != null){
return templateByKey.getLastModified().getEpochSecond();
} else {
return Long.MAX_VALUE;
}
@@ -34,7 +38,7 @@ public class DatabaseTemplateLoader implements TemplateLoader {
@Override
public Reader getReader(Object o, String s) throws IOException {
return new StringReader(((TemplateDto) o).getContent());
return new StringReader(((Template) o).getContent());
}
@Override

View File

@@ -1,7 +1,7 @@
package dev.sheldan.abstracto.templating.loading;
import dev.sheldan.abstracto.templating.TemplateDto;
import dev.sheldan.abstracto.templating.model.database.Template;
import org.springframework.data.jpa.repository.JpaRepository;
public interface TemplateRepository extends JpaRepository<TemplateDto, String> {
public interface TemplateRepository extends JpaRepository<Template, String> {
}

View File

@@ -1,4 +1,4 @@
package dev.sheldan.abstracto.templating.embed;
package dev.sheldan.abstracto.templating.model;
import lombok.Getter;
import lombok.Setter;

View File

@@ -1,4 +1,4 @@
package dev.sheldan.abstracto.templating.embed;
package dev.sheldan.abstracto.templating.model;
import lombok.Getter;
import lombok.Setter;

View File

@@ -1,4 +1,4 @@
package dev.sheldan.abstracto.templating.embed;
package dev.sheldan.abstracto.templating.model;
import lombok.Getter;
import lombok.Setter;

View File

@@ -1,4 +1,4 @@
package dev.sheldan.abstracto.templating.embed;
package dev.sheldan.abstracto.templating.model;
import lombok.Getter;
import lombok.Setter;

View File

@@ -1,4 +1,4 @@
package dev.sheldan.abstracto.templating.embed;
package dev.sheldan.abstracto.templating.model;
import lombok.Getter;
import lombok.Setter;

View File

@@ -1,12 +1,8 @@
package dev.sheldan.abstracto.templating.loading;
package dev.sheldan.abstracto.templating.service;
import com.google.gson.Gson;
import dev.sheldan.abstracto.core.models.context.ContextAware;
import dev.sheldan.abstracto.core.models.context.ServerContext;
import dev.sheldan.abstracto.core.models.MessageToSend;
import dev.sheldan.abstracto.templating.TemplateDto;
import dev.sheldan.abstracto.templating.TemplateService;
import dev.sheldan.abstracto.templating.embed.*;
import dev.sheldan.abstracto.templating.model.*;
import dev.sheldan.abstracto.templating.model.database.Template;
import freemarker.template.Configuration;
import freemarker.template.TemplateException;
import lombok.extern.slf4j.Slf4j;
@@ -18,7 +14,6 @@ import org.springframework.ui.freemarker.FreeMarkerTemplateUtils;
import java.awt.*;
import java.io.IOException;
import java.time.Instant;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -28,9 +23,6 @@ import java.util.stream.Collectors;
@Component
public class TemplateServiceBean implements TemplateService {
@Autowired
private TemplateRepository repository;
@Autowired
private Configuration configuration;
@@ -38,17 +30,7 @@ public class TemplateServiceBean implements TemplateService {
private Gson gson;
@Override
public TemplateDto getTemplateByKey(String key) {
return repository.getOne(key);
}
@Override
public boolean templateExists(String key) {
return getTemplateByKey(key) != null;
}
@Override
public String renderTemplate(TemplateDto templateDto) {
public String renderTemplate(Template template) {
return null;
}
@@ -147,21 +129,4 @@ public class TemplateServiceBean implements TemplateService {
return null;
}
}
@Override
public String renderContextAwareTemplate(String key, ServerContext serverContext) {
return renderTemplate(getTemplateKey(key, serverContext), serverContext);
}
private String getTemplateKey(String key, ContextAware contextAware) {
if(!contextAware.getTemplateSuffix().equals("")) {
return key + "_" + contextAware.getTemplateSuffix();
}
return key;
}
@Override
public void createTemplate(String key, String content) {
repository.save(TemplateDto.builder().key(key).content(content).lastModified(Instant.now()).build());
}
}

View File

@@ -0,0 +1,30 @@
package dev.sheldan.abstracto.templating.service.management;
import dev.sheldan.abstracto.templating.loading.TemplateRepository;
import dev.sheldan.abstracto.templating.model.database.Template;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.time.Instant;
@Component
public class TemplateManagementServiceBean implements TemplateManagementService {
@Autowired
private TemplateRepository repository;
@Override
public Template getTemplateByKey(String key) {
return repository.getOne(key);
}
@Override
public boolean templateExists(String key) {
return getTemplateByKey(key) != null;
}
@Override
public void createTemplate(String key, String content) {
repository.save(Template.builder().key(key).content(content).lastModified(Instant.now()).build());
}
}