changes
Signed-off-by: a <a>
This commit is contained in:
@@ -19,7 +19,7 @@ public class EEAppConfig {
|
||||
|
||||
@Bean(name = "RunningEE")
|
||||
public boolean runningEnterpriseEdition() {
|
||||
// TODO: Implement EE detection
|
||||
return false;
|
||||
return applicationProperties.getEnterpriseEdition().getEnabled();
|
||||
// TODO: check EE license key
|
||||
}
|
||||
}
|
||||
|
||||
@@ -160,4 +160,22 @@ public class AppConfig {
|
||||
public String accessibilityStatement() {
|
||||
return applicationProperties.getLegal().getAccessibilityStatement();
|
||||
}
|
||||
|
||||
@Bean(name = "analyticsPrompt")
|
||||
public boolean analyticsPrompt() {
|
||||
return applicationProperties.getSystem().getEnableAnalytics() == null
|
||||
|| "undefined".equals(applicationProperties.getSystem().getEnableAnalytics());
|
||||
}
|
||||
|
||||
@Bean(name = "analyticsEnabled")
|
||||
public boolean analyticsEnabled() {
|
||||
if (applicationProperties.getEnterpriseEdition().getEnabled()) return true;
|
||||
return applicationProperties.getSystem().getEnableAnalytics() != null
|
||||
&& Boolean.parseBoolean(applicationProperties.getSystem().getEnableAnalytics());
|
||||
}
|
||||
|
||||
@Bean(name = "StirlingPDFLabel")
|
||||
public String stirlingPDFLabel() {
|
||||
return "Stirling-PDF" + " v" + appVersion();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,16 +15,16 @@ import stirling.software.SPDF.model.PdfMetadata;
|
||||
public class PdfMetadataService {
|
||||
|
||||
private final ApplicationProperties applicationProperties;
|
||||
private final String appVersion;
|
||||
private final String stirlingPDFLabel;
|
||||
private final UserServiceInterface userService;
|
||||
|
||||
@Autowired
|
||||
public PdfMetadataService(
|
||||
ApplicationProperties applicationProperties,
|
||||
@Qualifier("appVersion") String appVersion,
|
||||
@Qualifier("StirlingPDFLabel") String stirlingPDFLabel,
|
||||
@Autowired(required = false) UserServiceInterface userService) {
|
||||
this.applicationProperties = applicationProperties;
|
||||
this.appVersion = appVersion;
|
||||
this.stirlingPDFLabel = stirlingPDFLabel;
|
||||
this.userService = userService;
|
||||
}
|
||||
|
||||
@@ -59,51 +59,40 @@ public class PdfMetadataService {
|
||||
|
||||
private void setNewDocumentMetadata(PDDocument pdf, PdfMetadata pdfMetadata) {
|
||||
|
||||
String creator = "Stirling-PDF";
|
||||
String creator = stirlingPDFLabel;
|
||||
|
||||
// if (applicationProperties
|
||||
// .getEnterpriseEdition()
|
||||
// .getCustomMetadata()
|
||||
// .isAutoUpdateMetadata()) {
|
||||
if (applicationProperties
|
||||
.getEnterpriseEdition()
|
||||
.getCustomMetadata()
|
||||
.isAutoUpdateMetadata()) {
|
||||
|
||||
// producer =
|
||||
//
|
||||
// applicationProperties.getEnterpriseEdition().getCustomMetadata().getProducer();
|
||||
// creator =
|
||||
// applicationProperties.getEnterpriseEdition().getCustomMetadata().getCreator();
|
||||
// title = applicationProperties.getEnterpriseEdition().getCustomMetadata().getTitle();
|
||||
creator = applicationProperties.getEnterpriseEdition().getCustomMetadata().getCreator();
|
||||
pdf.getDocumentInformation().setProducer(stirlingPDFLabel);
|
||||
}
|
||||
|
||||
// if ("{filename}".equals(title)) {
|
||||
// title = "Filename"; // Replace with actual filename logic
|
||||
// } else if ("{unchanged}".equals(title)) {
|
||||
// title = pdfMetadata.getTitle(); // Keep the original title
|
||||
// }
|
||||
// }
|
||||
|
||||
pdf.getDocumentInformation().setCreator(creator + " " + appVersion);
|
||||
pdf.getDocumentInformation().setCreator(creator);
|
||||
pdf.getDocumentInformation().setCreationDate(Calendar.getInstance());
|
||||
}
|
||||
|
||||
private void setCommonMetadata(PDDocument pdf, PdfMetadata pdfMetadata) {
|
||||
String producer = "Stirling-PDF";
|
||||
String title = pdfMetadata.getTitle();
|
||||
pdf.getDocumentInformation().setTitle(title);
|
||||
pdf.getDocumentInformation().setProducer(producer + " " + appVersion);
|
||||
pdf.getDocumentInformation().setProducer(stirlingPDFLabel);
|
||||
pdf.getDocumentInformation().setSubject(pdfMetadata.getSubject());
|
||||
pdf.getDocumentInformation().setKeywords(pdfMetadata.getKeywords());
|
||||
pdf.getDocumentInformation().setModificationDate(Calendar.getInstance());
|
||||
|
||||
String author = pdfMetadata.getAuthor();
|
||||
// if (applicationProperties
|
||||
// .getEnterpriseEdition()
|
||||
// .getCustomMetadata()
|
||||
// .isAutoUpdateMetadata()) {
|
||||
// author = applicationProperties.getEnterpriseEdition().getCustomMetadata().getAuthor();
|
||||
if (applicationProperties
|
||||
.getEnterpriseEdition()
|
||||
.getCustomMetadata()
|
||||
.isAutoUpdateMetadata()) {
|
||||
author = applicationProperties.getEnterpriseEdition().getCustomMetadata().getAuthor();
|
||||
|
||||
// if (userService != null) {
|
||||
// author = author.replace("username", userService.getCurrentUsername());
|
||||
// }
|
||||
// }
|
||||
if (userService != null) {
|
||||
author = author.replace("username", userService.getCurrentUsername());
|
||||
}
|
||||
}
|
||||
pdf.getDocumentInformation().setAuthor(author);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
package stirling.software.SPDF.config.security.session;
|
||||
|
||||
import java.util.concurrent.atomic.AtomicInteger;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@@ -15,29 +13,17 @@ public class CustomHttpSessionListener implements HttpSessionListener {
|
||||
|
||||
private SessionPersistentRegistry sessionPersistentRegistry;
|
||||
|
||||
private final AtomicInteger activeSessions;
|
||||
|
||||
@Autowired
|
||||
public CustomHttpSessionListener(SessionPersistentRegistry sessionPersistentRegistry) {
|
||||
super();
|
||||
this.sessionPersistentRegistry = sessionPersistentRegistry;
|
||||
activeSessions = new AtomicInteger();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void sessionCreated(HttpSessionEvent se) {
|
||||
log.info(
|
||||
"Session created: {} with count {}",
|
||||
se.getSession().getId(),
|
||||
activeSessions.incrementAndGet());
|
||||
}
|
||||
public void sessionCreated(HttpSessionEvent se) {}
|
||||
|
||||
@Override
|
||||
public void sessionDestroyed(HttpSessionEvent se) {
|
||||
log.info(
|
||||
"Session destroyed: {} with count {}",
|
||||
se.getSession().getId(),
|
||||
activeSessions.decrementAndGet());
|
||||
sessionPersistentRegistry.expireSession(se.getSession().getId());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -209,7 +209,7 @@ public class UserController {
|
||||
@PostMapping("/admin/saveUser")
|
||||
public RedirectView saveUser(
|
||||
@RequestParam(name = "username", required = true) String username,
|
||||
@RequestParam(name = "password", required = true) String password,
|
||||
@RequestParam(name = "password", required = false) String password,
|
||||
@RequestParam(name = "role") String role,
|
||||
@RequestParam(name = "authType") String authType,
|
||||
@RequestParam(name = "forceChange", required = false, defaultValue = "false")
|
||||
|
||||
@@ -136,6 +136,7 @@ public class ApplicationProperties {
|
||||
private boolean customHTMLFiles;
|
||||
private String tessdataDir;
|
||||
private Boolean enableAlphaFunctionality;
|
||||
private String enableAnalytics;
|
||||
}
|
||||
|
||||
@Data
|
||||
@@ -179,6 +180,7 @@ public class ApplicationProperties {
|
||||
|
||||
@Data
|
||||
public static class EnterpriseEdition {
|
||||
private Boolean enabled;
|
||||
@ToString.Exclude private String key;
|
||||
private CustomMetadata customMetadata = new CustomMetadata();
|
||||
|
||||
|
||||
@@ -17,6 +17,7 @@ public class RequestUriUtils {
|
||||
|| requestURI.startsWith(contextPath + "/public/")
|
||||
|| requestURI.startsWith(contextPath + "/pdfjs/")
|
||||
|| requestURI.startsWith(contextPath + "/login")
|
||||
|| requestURI.startsWith(contextPath + "/error")
|
||||
|| requestURI.endsWith(".svg")
|
||||
|| requestURI.endsWith(".png")
|
||||
|| requestURI.endsWith(".ico")
|
||||
|
||||
Reference in New Issue
Block a user