changed context handling for command models for logging

added method to convert the user initiated context to a concrete command model
added method to find if a template exists
added method to render a context aware model
added banid command
This commit is contained in:
Sheldan
2020-03-20 09:34:37 +01:00
parent ec21305725
commit c978c1c677
68 changed files with 412 additions and 254 deletions

View File

@@ -1,5 +1,7 @@
package dev.sheldan.abstracto.templating.loading;
import dev.sheldan.abstracto.core.models.ContextAware;
import dev.sheldan.abstracto.core.models.ServerContext;
import dev.sheldan.abstracto.templating.TemplateDto;
import dev.sheldan.abstracto.templating.TemplateService;
import freemarker.template.Configuration;
@@ -30,6 +32,11 @@ public class TemplateServiceBean implements TemplateService {
return repository.getOne(key);
}
@Override
public boolean templateExists(String key) {
return getTemplateByKey(key) != null;
}
@Override
public String renderTemplate(TemplateDto templateDto) {
return null;
@@ -55,6 +62,18 @@ public class TemplateServiceBean implements TemplateService {
return "";
}
@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

@@ -16,6 +16,13 @@
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>dev.sheldan.abstracto.core</groupId>
<artifactId>core-interface</artifactId>
<version>${project.version}</version>
<scope>compile</scope>
</dependency>
</dependencies>
</project>

View File

@@ -1,11 +1,15 @@
package dev.sheldan.abstracto.templating;
import dev.sheldan.abstracto.core.models.ServerContext;
import java.util.HashMap;
public interface TemplateService {
TemplateDto getTemplateByKey(String key);
boolean templateExists(String key);
String renderTemplate(TemplateDto templateDto);
String renderTemplate(String key, HashMap<String, Object> parameters);
String renderTemplate(String key, Object model);
String renderContextAwareTemplate(String key, ServerContext serverContext);
void createTemplate(String key, String content);
}