From 14af7dfe4e2c79a241b5de548ca7678e63dd77f0 Mon Sep 17 00:00:00 2001
From: Elex
Date: Fri, 20 Aug 2021 23:40:43 +0900
Subject: [PATCH] still under construction
---
app/build.gradle.kts | 2 +-
.../com/elex_project/asgard/Application.java | 1 +
.../asgard/config/AsgardCacheCustomizer.java | 24 ++++
.../elex_project/asgard/config/Config.java | 20 +---
.../asgard/controller/BaseController.java | 105 ------------------
...ontroller.java => DocumentController.java} | 10 +-
.../asgard/controller/HomeController.java | 10 +-
.../asgard/controller/package-info.java | 8 --
.../asgard/model/{Note.java => Document.java} | 14 ++-
.../asgard/model/HttpTraceModel.java | 84 --------------
.../asgard/model/package-info.java | 8 --
...{NoteService.java => DocumentService.java} | 2 +-
.../asgard/service/SitemapService.java | 16 ++-
.../asgard/service/SyndicationService.java | 16 ++-
.../asgard/service/package-info.java | 8 --
.../supplements/RequestLogInterceptor.java | 10 +-
.../asgard/supplements/package-info.java | 8 --
.../asgard/view/ViewModelInterceptor.java | 5 +-
.../asgard/view/package-info.java | 8 --
app/src/main/resources/static/humans.txt | 2 +-
.../main/resources/templates/document.html | 8 +-
app/src/main/resources/templates/error.html | 12 +-
.../main/resources/templates/error/404.html | 8 +-
.../main/resources/templates/fragments.html | 52 +++++++++
.../resources/templates/fragments/footer.html | 3 -
.../resources/templates/fragments/meta.html | 14 ---
app/src/main/resources/templates/home.html | 4 +-
settings.gradle.kts | 2 +-
.../asgard/sitemap/BaseSitemapService.java | 10 +-
.../asgard/sitemap/SitemapItem.java | 4 -
.../syndication/BaseSyndicationService.java | 36 +++---
.../asgard/syndication/Formatter.java | 12 +-
.../asgard/syndication/SyndicationType.java | 6 +-
{address-finder => web-app}/build.gradle.kts | 0
.../asgard/address_finder/AppController.java | 2 +-
.../asgard/address_finder/package-info.java | 0
.../resources/templates/address-finder.html | 0
37 files changed, 185 insertions(+), 349 deletions(-)
create mode 100644 app/src/main/java/com/elex_project/asgard/config/AsgardCacheCustomizer.java
delete mode 100644 app/src/main/java/com/elex_project/asgard/controller/BaseController.java
rename app/src/main/java/com/elex_project/asgard/controller/{NoteController.java => DocumentController.java} (86%)
delete mode 100644 app/src/main/java/com/elex_project/asgard/controller/package-info.java
rename app/src/main/java/com/elex_project/asgard/model/{Note.java => Document.java} (87%)
delete mode 100644 app/src/main/java/com/elex_project/asgard/model/HttpTraceModel.java
delete mode 100644 app/src/main/java/com/elex_project/asgard/model/package-info.java
rename app/src/main/java/com/elex_project/asgard/service/{NoteService.java => DocumentService.java} (89%)
delete mode 100644 app/src/main/java/com/elex_project/asgard/service/package-info.java
delete mode 100644 app/src/main/java/com/elex_project/asgard/supplements/package-info.java
delete mode 100644 app/src/main/java/com/elex_project/asgard/view/package-info.java
create mode 100644 app/src/main/resources/templates/fragments.html
delete mode 100644 app/src/main/resources/templates/fragments/footer.html
delete mode 100644 app/src/main/resources/templates/fragments/meta.html
rename app/src/main/java/com/elex_project/asgard/config/package-info.java => sitemap/src/main/java/com/elex_project/asgard/syndication/SyndicationType.java (54%)
rename {address-finder => web-app}/build.gradle.kts (100%)
rename {address-finder => web-app}/src/main/java/com/elex_project/asgard/address_finder/AppController.java (95%)
rename {address-finder => web-app}/src/main/java/com/elex_project/asgard/address_finder/package-info.java (100%)
rename {address-finder => web-app}/src/main/resources/templates/address-finder.html (100%)
diff --git a/app/build.gradle.kts b/app/build.gradle.kts
index 6de1836..3ad86aa 100644
--- a/app/build.gradle.kts
+++ b/app/build.gradle.kts
@@ -41,8 +41,8 @@ tasks.asciidoctor {
dependencies {
implementation(project(":sitemap"))
implementation(project(":linkback"))
+ implementation(project(":web-app"))
- implementation(project(":address-finder"))
implementation("com.vladsch.flexmark:flexmark-all:0.62.2")
implementation("org.springframework.boot:spring-boot-starter-data-jpa")
diff --git a/app/src/main/java/com/elex_project/asgard/Application.java b/app/src/main/java/com/elex_project/asgard/Application.java
index 92a6f8d..7eb91ac 100644
--- a/app/src/main/java/com/elex_project/asgard/Application.java
+++ b/app/src/main/java/com/elex_project/asgard/Application.java
@@ -31,4 +31,5 @@ public class Application {
}
}
+
}
diff --git a/app/src/main/java/com/elex_project/asgard/config/AsgardCacheCustomizer.java b/app/src/main/java/com/elex_project/asgard/config/AsgardCacheCustomizer.java
new file mode 100644
index 0000000..a45fed2
--- /dev/null
+++ b/app/src/main/java/com/elex_project/asgard/config/AsgardCacheCustomizer.java
@@ -0,0 +1,24 @@
+/*
+ * Project Asgard
+ *
+ * Copyright (c) 2021. Elex. All Rights Reserved.
+ * https://www.elex-project.com/
+ */
+
+package com.elex_project.asgard.config;
+
+import org.springframework.boot.autoconfigure.cache.CacheManagerCustomizer;
+import org.springframework.cache.concurrent.ConcurrentMapCacheManager;
+import org.springframework.stereotype.Component;
+
+import java.util.Arrays;
+
+@Component
+public class AsgardCacheCustomizer implements CacheManagerCustomizer {
+
+ @Override
+ public void customize(ConcurrentMapCacheManager cacheManager) {
+ cacheManager.setCacheNames(Arrays
+ .asList("sitemap", "syndication/rss", "syndication/atom"));
+ }
+}
diff --git a/app/src/main/java/com/elex_project/asgard/config/Config.java b/app/src/main/java/com/elex_project/asgard/config/Config.java
index fc77425..4d21b80 100644
--- a/app/src/main/java/com/elex_project/asgard/config/Config.java
+++ b/app/src/main/java/com/elex_project/asgard/config/Config.java
@@ -9,6 +9,8 @@ package com.elex_project.asgard.config;
import com.elex_project.asgard.supplements.Markdown;
import com.elex_project.asgard.view.AsgardLocaleResolver;
+import org.springframework.cache.CacheManager;
+import org.springframework.cache.support.SimpleCacheManager;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.LocaleResolver;
@@ -16,32 +18,14 @@ import org.springframework.web.servlet.LocaleResolver;
@Configuration
public class Config {
- /*@Bean
- public RestTemplate restTemplate() {
- return new RestTemplate();
- }
-*/
- /*@Bean
- public HttpTraceRepository httpTraceRepository() {
- return new InMemoryHttpTraceRepository();
- }*/
-
-
/**
* Locale resolver, 디폴트 로캐일을 지정한다.
*/
@Bean
public LocaleResolver localeResolver() {
- /*SessionLocaleResolver localeResolver = new SessionLocaleResolver();
- localeResolver.setDefaultLocale(Locale.ENGLISH);
- localeResolver.setLocaleAttributeName("lc");
- localeResolver.setTimeZoneAttributeName("tz");
- return localeResolver;*/
-
return new AsgardLocaleResolver();
}
-
/**
* Markdown parser
*
diff --git a/app/src/main/java/com/elex_project/asgard/controller/BaseController.java b/app/src/main/java/com/elex_project/asgard/controller/BaseController.java
deleted file mode 100644
index 350240f..0000000
--- a/app/src/main/java/com/elex_project/asgard/controller/BaseController.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Project Asgard
- *
- * Copyright (c) 2021. Elex. All Rights Reserved.
- * https://www.elex-project.com/
- */
-
-package com.elex_project.asgard.controller;
-
-import org.jetbrains.annotations.NotNull;
-import org.springframework.web.context.request.RequestAttributes;
-import org.springframework.web.context.request.RequestContextHolder;
-import org.springframework.web.context.request.ServletRequestAttributes;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.net.URI;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Optional;
-
-abstract class BaseController {
-
- /*@NotNull
- protected Map map() {
- final HashMap map = new HashMap<>();
- map.put("html_lang", lang());
- return map;
- }
-
- @NotNull
- private String lang() {
- return getHttpRequest()
- .map(request -> request.getLocale().toLanguageTag())
- .orElse("en");
- }
-
- @NotNull
- protected URI getRequestURI() {
- return getHttpRequest()
- .map(request -> URI.create(request.getRequestURI()))
- .orElse(URI.create("/"));
- }
-
- private Optional getRequestAttributes() {
- return Optional
- .ofNullable((ServletRequestAttributes) RequestContextHolder.getRequestAttributes());
- }
-
- protected Optional getHttpRequest() {
- return getRequestAttributes()
- .map(ServletRequestAttributes::getRequest);
- }
-
- protected Optional getHttpResponse() {
- return getRequestAttributes()
- .map(ServletRequestAttributes::getResponse);
- }
-
- @NotNull
- protected String[] getAttributeNames() {
- return getRequestAttributes()
- .map(attr -> attr.getAttributeNames(RequestAttributes.SCOPE_REQUEST))
- .orElse(new String[0]);
- }
-
- @NotNull
- protected String[] getSessionAttributeNames() {
- return getRequestAttributes()
- .map(attr -> attr.getAttributeNames(RequestAttributes.SCOPE_SESSION))
- .orElse(new String[0]);
- }
-
- @NotNull
- protected Optional
-