You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by nt...@apache.org on 2020/04/27 09:45:13 UTC

[cayenne] branch master updated: Generate Cayenne docs link and copyright year at runtime

This is an automated email from the ASF dual-hosted git repository.

ntimofeev pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne.git


The following commit(s) were added to refs/heads/master by this push:
     new 70e52c8  Generate Cayenne docs link and copyright year at runtime
70e52c8 is described below

commit 70e52c85bcb3241b95ac5e32bada610f436488dd
Author: Nikita Timofeev <st...@gmail.com>
AuthorDate: Mon Apr 27 12:45:00 2020 +0300

    Generate Cayenne docs link and copyright year at runtime
---
 .../cayenne/modeler/action/DocumentationAction.java      | 12 ++++++++++--
 .../org/apache/cayenne/modeler/dialog/AboutDialog.java   | 16 +++++++---------
 .../cayenne/modeler/cayennemodeler-strings.properties    |  4 ++--
 3 files changed, 19 insertions(+), 13 deletions(-)

diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/DocumentationAction.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/DocumentationAction.java
index 5403d9c..7c01a3e 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/DocumentationAction.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/action/DocumentationAction.java
@@ -24,10 +24,11 @@ import java.awt.event.ActionEvent;
 import org.apache.cayenne.modeler.Application;
 import org.apache.cayenne.modeler.util.BrowserControl;
 import org.apache.cayenne.modeler.util.CayenneAction;
+import org.apache.cayenne.util.LocalizedStringsHandler;
 
 public class DocumentationAction extends CayenneAction {
 
-    public final static String getActionName() {
+    public static String getActionName() {
         return "Documentation";
     }
 
@@ -35,7 +36,14 @@ public class DocumentationAction extends CayenneAction {
         super(getActionName(), application);
     }
 
+    @Override
     public void performAction(ActionEvent e) {
-        BrowserControl.displayURL("http://cayenne.apache.org");
+        String version = LocalizedStringsHandler.getString("cayenne.version");
+        String url = "https://cayenne.apache.org";
+        if(!"".equals(version)) {
+            String majorVersion = version.substring(0, version.lastIndexOf('.'));
+            url = url + "/docs/" + majorVersion + "/cayenne-guide/";
+        }
+        BrowserControl.displayURL(url);
     }
 }
diff --git a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/AboutDialog.java b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/AboutDialog.java
index a811a74..097a2a0 100644
--- a/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/AboutDialog.java
+++ b/modeler/cayenne-modeler/src/main/java/org/apache/cayenne/modeler/dialog/AboutDialog.java
@@ -30,6 +30,7 @@ import java.awt.event.KeyEvent;
 import java.awt.event.KeyListener;
 import java.awt.event.MouseEvent;
 import java.awt.event.MouseListener;
+import java.time.LocalDate;
 
 import javax.swing.ImageIcon;
 import javax.swing.JFrame;
@@ -49,7 +50,6 @@ import org.apache.cayenne.util.Util;
 // triad, though it might be beneficial to use strings file
 public class AboutDialog extends JFrame implements FocusListener, KeyListener, MouseListener {
 
-    private JLabel license, info;
     private static String infoString;
     private static ImageIcon logoImage;
 
@@ -70,20 +70,18 @@ public class AboutDialog extends JFrame implements FocusListener, KeyListener, M
             double totalMemory = (double) Runtime.getRuntime().totalMemory() / 1024 / 1024;
             double freeMemory = (double) Runtime.getRuntime().freeMemory() / 1024 / 1024;
 
-            StringBuffer buffer = new StringBuffer();
+            StringBuilder buffer = new StringBuilder();
             buffer.append("<html>");
             buffer.append("<font size='-1' face='Arial,Helvetica'>");
-            buffer.append(ModelerUtil.getProperty("cayenne.modeler.about.info"));
+            buffer.append(String.format(ModelerUtil.getProperty("cayenne.modeler.about.info"), LocalDate.now().getYear()));
             buffer.append("</font>");
 
             buffer.append("<font size='-2' face='Arial,Helvetica'>");
-            buffer.append("<br>JVM: " + System.getProperty("java.vm.name") + " " + System.getProperty("java.version"));
+            buffer.append("<br>JVM: ").append(System.getProperty("java.vm.name")).append(" ").append(System.getProperty("java.version"));
             buffer.append(String.format("<br>Memory: used %.2f MB, max %.2f MB", totalMemory - freeMemory, maxMemory));
 
             String version = LocalizedStringsHandler.getString("cayenne.version");
-            if (version != null) {
-                buffer.append("<br>Version: ").append(version);
-            }
+            buffer.append("<br>Version: ").append(version);
 
             String buildDate = LocalizedStringsHandler.getString("cayenne.build.date");
             if (!Util.isEmptyString(buildDate)) {
@@ -119,7 +117,7 @@ public class AboutDialog extends JFrame implements FocusListener, KeyListener, M
         JLabel image = new JLabel(getLogoImage());
         panel.add(image, new GridBagConstraints());
 
-        license = new JLabel();
+        JLabel license = new JLabel();
         final GridBagConstraints gridBagConstraints_1 = new GridBagConstraints();
         gridBagConstraints_1.fill = GridBagConstraints.HORIZONTAL;
         gridBagConstraints_1.anchor = GridBagConstraints.NORTHWEST;
@@ -129,7 +127,7 @@ public class AboutDialog extends JFrame implements FocusListener, KeyListener, M
         panel.add(license, gridBagConstraints_1);
         license.setText("<html><font size='-1' face='Arial,Helvetica'>Available under the Apache license.</font></html>");
 
-        info = new JLabel();
+        JLabel info = new JLabel();
         final GridBagConstraints gridBagConstraints_2 = new GridBagConstraints();
         gridBagConstraints_2.fill = GridBagConstraints.HORIZONTAL;
         gridBagConstraints_2.anchor = GridBagConstraints.NORTHWEST;
diff --git a/modeler/cayenne-modeler/src/main/resources/org/apache/cayenne/modeler/cayennemodeler-strings.properties b/modeler/cayenne-modeler/src/main/resources/org/apache/cayenne/modeler/cayennemodeler-strings.properties
index dbc7e95..541b9ba 100644
--- a/modeler/cayenne-modeler/src/main/resources/org/apache/cayenne/modeler/cayennemodeler-strings.properties
+++ b/modeler/cayenne-modeler/src/main/resources/org/apache/cayenne/modeler/cayennemodeler-strings.properties
@@ -17,8 +17,8 @@
 
 cayenne.bugreport.url = http://issues.apache.org/jira/browse/CAY
 
-cayenne.modeler.about.info = (c) 2001-2020 Apache Software Foundation and individual authors.\
-    <br><br>http://cayenne.apache.org/<br>
+cayenne.modeler.about.info = (c) 2001-%d Apache Software Foundation and individual authors.\
+    <br><br>https://cayenne.apache.org/<br>
 
 
 # "New Project" dialog.