Browse Source

ProductVersion

MaxKey 1 year ago
parent
commit
4efe2ce867

+ 3 - 4
maxkey-core/src/main/java/org/dromara/maxkey/web/MetadataEndpoint.java

@@ -19,8 +19,7 @@ package org.dromara.maxkey.web;
 
 import org.dromara.maxkey.constants.ContentType;
 import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.ResponseBody;
 
 import jakarta.servlet.http.HttpServletRequest;
@@ -29,9 +28,9 @@ import jakarta.servlet.http.HttpServletResponse;
 @Controller
 public class MetadataEndpoint {
 
-	@RequestMapping(value = "/metadata/version",produces = ContentType.TEXT_PLAIN_UTF8, method={RequestMethod.GET})
+	@GetMapping(value = "/metadata/version",produces = ContentType.TEXT_PLAIN_UTF8)
 	@ResponseBody
 	public String  metadata(HttpServletRequest request,HttpServletResponse response) {
-		return "";//WebContext.version();
+		return WebContext.version();
 	}
 }

+ 96 - 0
maxkey-core/src/main/java/org/dromara/maxkey/web/ProductVersionEndpoint.java

@@ -0,0 +1,96 @@
+/*
+ * Copyright [2024] [MaxKey of copyright http://www.maxkey.top]
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+ 
+
+ 
+
+package org.dromara.maxkey.web;
+
+import java.io.IOException;
+
+import org.apache.commons.lang.SystemUtils;
+import org.joda.time.DateTime;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.GetMapping;
+
+import jakarta.servlet.ServletOutputStream;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+
+/**
+ * ProductVersion
+ * @author Crystal.Sea
+ *
+ */
+
+@Controller
+public class ProductVersionEndpoint {
+	private static final Logger _logger = LoggerFactory.getLogger(ProductVersionEndpoint.class);
+	
+	static final String VERSION_STRING ="""
+			<!DOCTYPE html>
+			<html>
+			<head>
+			    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+			    <link rel="shortcut icon" type="image/x-icon" href="%s/static/favicon.ico"/>
+			    <base href='%s'/> 
+			    <title>MaxKey Single Sign-On</title>
+			</head>
+			<body>
+			    <center>
+			        <hr>
+			        Maxkey  Community Edition <br>
+			        Single   Sign  On ( SSO ) <br>
+			        Version %s <br>
+			        <br>
+			        &copy; Copyright 2018 - %d https://www.maxkey.top/<br>
+			        Licensed under the Apache License, Version 2.0 <br>
+			        .&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp
+			        All rights reserved
+			        &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp.<br>
+			        <hr>
+			        JAVA &nbsp&nbsp : &nbsp&nbsp %s java version %s, class %s<br>
+			                %s (build %s, %s)<br>
+			        <hr>
+			    </center>
+			</body>
+			</html>
+			""";
+
+	@GetMapping(value={"/"})
+	public void version(HttpServletRequest request,HttpServletResponse response) throws IOException {
+		_logger.debug("ProductVersion /");
+		ServletOutputStream out = response.getOutputStream();
+		String contextPath = request.getContextPath();
+		out.println(
+				String.format(
+						VERSION_STRING,
+						contextPath,
+						contextPath,
+						WebContext.getProperty("application.formatted-version"),
+						new DateTime().getYear(),
+						SystemUtils.JAVA_VENDOR,
+                        SystemUtils.JAVA_VERSION,
+                        SystemUtils.JAVA_CLASS_VERSION,
+                        SystemUtils.JAVA_VM_NAME,
+                        SystemUtils.JAVA_VM_VERSION,
+                        SystemUtils.JAVA_VM_INFO));
+		out.close();
+	}
+	
+}

+ 0 - 44
maxkey-webs/maxkey-web-maxkey/src/main/java/org/dromara/maxkey/web/contorller/IndexEndpoint.java

@@ -1,44 +0,0 @@
-/*
- * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
- * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
- *     http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- 
-
-package org.dromara.maxkey.web.contorller;
-
-import org.dromara.maxkey.web.WebContext;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.servlet.ModelAndView;
-
-/**
- * Index
- * @author Crystal.Sea
- *
- */
-@Controller
-public class IndexEndpoint {
-	private static Logger logger = LoggerFactory.getLogger(IndexEndpoint.class);
-
-	@RequestMapping(value={"/"})
-	public ModelAndView index() {
-		logger.debug("IndexEndpoint /.");
-		return  new ModelAndView("index")
-				.addObject("appVersion", WebContext.properties.getProperty("application.formatted-version"));
-		
-	}
-	
-}

+ 0 - 21
maxkey-webs/maxkey-web-maxkey/src/main/resources/templates/views/index.ftl

@@ -1,21 +0,0 @@
-<!DOCTYPE html>
-<html >
-<head>
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
-    <link rel="shortcut icon" type="image/x-icon" href="<@base />/static/favicon.ico"/>
-    <base href="<@base />"/>
-    <title>MaxKey Single Sign-On</title>
-</head>
-<body>
-    <center>
-        <hr>
-        Maxkey Community  Edition <br>
-        Single   Sign  On ( SSO ) <br>
-        Version ${appVersion}<br>
-        <br>
-        ©Copyright 2018 - ${.now?string["yyyy"]} https://www.maxkey.top/<br>
-        Licensed under the Apache License, Version 2.0 <br>
-        <hr>
-    </center>
-</body>
-</html>

+ 0 - 44
maxkey-webs/maxkey-web-mgt/src/main/java/org/dromara/maxkey/web/contorller/IndexEndpoint.java

@@ -1,44 +0,0 @@
-/*
- * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
- * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
- *     http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- 
-
-package org.dromara.maxkey.web.contorller;
-
-import org.dromara.maxkey.web.WebContext;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.servlet.ModelAndView;
-
-/**
- * Index
- * @author Crystal.Sea
- *
- */
-@Controller
-public class IndexEndpoint {
-	private static Logger logger = LoggerFactory.getLogger(IndexEndpoint.class);
-
-	@RequestMapping(value={"/"})
-	public ModelAndView index() {
-		logger.debug("IndexEndpoint /.");
-		return  new ModelAndView("index")
-				.addObject("appVersion", WebContext.properties.getProperty("application.formatted-version"));
-		
-	}
-	
-}

+ 0 - 21
maxkey-webs/maxkey-web-mgt/src/main/resources/templates/views/index.ftl

@@ -1,21 +0,0 @@
-<!DOCTYPE html>
-<html >
-<head>
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
-    <link rel="shortcut icon" type="image/x-icon" href="<@base />/static/favicon.ico"/>
-    <base href="<@base />"/>
-    <title>MaxKey Single Sign-On</title>
-</head>
-<body>
-    <center>
-        <hr>
-        Maxkey Community  Edition <br>
-        Single   Sign  On ( SSO ) <br>
-        Version ${appVersion}<br>
-        <br>
-        ©Copyright 2018 - ${.now?string["yyyy"]} https://www.maxkey.top/<br>
-        Licensed under the Apache License, Version 2.0 <br>
-        <hr>
-    </center>
-</body>
-</html>

+ 0 - 44
maxkey-webs/maxkey-web-openapi/src/main/java/org/dromara/maxkey/web/contorller/IndexEndpoint.java

@@ -1,44 +0,0 @@
-/*
- * Copyright [2024] [MaxKey of copyright https://www.maxkey.top]
- * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
- *     http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- 
-
-package org.dromara.maxkey.web.contorller;
-
-import org.dromara.maxkey.web.WebContext;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.servlet.ModelAndView;
-
-/**
- * Index
- * @author Crystal.Sea
- *
- */
-@Controller
-public class IndexEndpoint {
-	private static Logger logger = LoggerFactory.getLogger(IndexEndpoint.class);
-
-	@RequestMapping(value={"/"})
-	public ModelAndView index() {
-		logger.debug("IndexEndpoint /.");
-		return  new ModelAndView("index")
-				.addObject("appVersion", WebContext.properties.getProperty("application.formatted-version"));
-		
-	}
-	
-}

+ 0 - 21
maxkey-webs/maxkey-web-openapi/src/main/resources/templates/views/index.ftl

@@ -1,21 +0,0 @@
-<!DOCTYPE html>
-<html >
-<head>
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
-    <link rel="shortcut icon" type="image/x-icon" href="<@base />/static/favicon.ico"/>
-    <base href="<@base />"/>
-    <title>MaxKey Single Sign-On</title>
-</head>
-<body>
-    <center>
-        <hr>
-        Maxkey Community  Edition <br>
-        Single   Sign  On ( SSO ) <br>
-        Version ${appVersion}<br>
-        <br>
-        ©Copyright 2018 - ${.now?string["yyyy"]} https://www.maxkey.top/<br>
-        Licensed under the Apache License, Version 2.0 <br>
-        <hr>
-    </center>
-</body>
-</html>