From 7991bc3da11849c03d6926545dd2d32852e1729a Mon Sep 17 00:00:00 2001 From: Jim Blake Date: Wed, 5 Apr 2017 09:15:28 -0400 Subject: [PATCH 1/3] VIVO-1258 derive location of log files from CATALINA_BASE instead of CATALINA_HOME (#56) * VIVO-1246 improve the ConfigurationBeanLoader: Add cardinality parameters minOccurs and maxOccurs Create README.md document in the edu.cornell.mannlib.vitro.webapp.utils.configuration package Split large class of unit tests into separate classes by functionality * VIVO-1247, remove duplicate code used with ConfigurationBeanLoader. Now that the @Property annotation includes cardinality parameters, we can remove a lot of duplicate code. * VIVO-1246 Move unit tests to the new location. * VIVO-1246 The documentation was in the wrong place. * VIVO-1258 derive location of log files from CATALINA_BASE instead of CATALINA_HOME --- .../mannlib/vitro/webapp/utils/logging/StackTraceLayout.java | 2 +- .../solr/src/main/webResources/WEB-INF/classes/log4j.properties | 2 +- .../src/main/webResources/WEB-INF/classes/log4j.properties | 2 +- legacy/webapp/config/log4j.properties | 2 +- solr/src/main/resources/log4j.properties | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/logging/StackTraceLayout.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/logging/StackTraceLayout.java index 0a3915842..1d21f822f 100644 --- a/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/logging/StackTraceLayout.java +++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/utils/logging/StackTraceLayout.java @@ -14,7 +14,7 @@ import org.apache.log4j.spi.LoggingEvent; * *
  * log4j.appender.RiotAppender=org.apache.log4j.RollingFileAppender 
- * log4j.appender.RiotAppender.File= $${catalina.home}/logs/${webapp.name}.riot.log
+ * log4j.appender.RiotAppender.File= $${catalina.base}/logs/${webapp.name}.riot.log
  * log4j.appender.RiotAppender.MaxFileSize=10MB 
  * log4j.appender.RiotAppender.MaxBackupIndex=10 
  * log4j.appender.RiotAppender.layout=edu.cornell.mannlib.vitro.webapp.utils.logging.StackTraceLayout 
diff --git a/installer/solr/src/main/webResources/WEB-INF/classes/log4j.properties b/installer/solr/src/main/webResources/WEB-INF/classes/log4j.properties
index 6d55b17c9..89f1b4378 100644
--- a/installer/solr/src/main/webResources/WEB-INF/classes/log4j.properties
+++ b/installer/solr/src/main/webResources/WEB-INF/classes/log4j.properties
@@ -1,5 +1,5 @@
 log4j.appender.AllAppender=org.apache.log4j.RollingFileAppender 
-log4j.appender.AllAppender.File= ${catalina.home}/logs/${app-name}solr.log
+log4j.appender.AllAppender.File= ${catalina.base}/logs/${app-name}solr.log
 log4j.appender.AllAppender.MaxFileSize=10MB 
 log4j.appender.AllAppender.MaxBackupIndex=10 
 log4j.appender.AllAppender.layout=org.apache.log4j.PatternLayout 
diff --git a/installer/webapp/src/main/webResources/WEB-INF/classes/log4j.properties b/installer/webapp/src/main/webResources/WEB-INF/classes/log4j.properties
index eef3874ee..acfd46f59 100644
--- a/installer/webapp/src/main/webResources/WEB-INF/classes/log4j.properties
+++ b/installer/webapp/src/main/webResources/WEB-INF/classes/log4j.properties
@@ -24,7 +24,7 @@
 # debug.log4j.properties exists will be used instead, if it exists, but is not stored in Subversion.
 
 log4j.appender.AllAppender=org.apache.log4j.RollingFileAppender
-log4j.appender.AllAppender.File= ${catalina.home}/logs/${app-name}.all.log
+log4j.appender.AllAppender.File= ${catalina.base}/logs/${app-name}.all.log
 log4j.appender.AllAppender.MaxFileSize=10MB
 log4j.appender.AllAppender.MaxBackupIndex=10
 log4j.appender.AllAppender.layout=org.apache.log4j.PatternLayout
diff --git a/legacy/webapp/config/log4j.properties b/legacy/webapp/config/log4j.properties
index 1be93b80c..6b8e9bf83 100644
--- a/legacy/webapp/config/log4j.properties
+++ b/legacy/webapp/config/log4j.properties
@@ -24,7 +24,7 @@
 # debug.log4j.properties exists will be used instead, if it exists, but is not stored in Subversion.
  
 log4j.appender.AllAppender=org.apache.log4j.RollingFileAppender 
-log4j.appender.AllAppender.File= $${catalina.home}/logs/${webapp.name}.all.log
+log4j.appender.AllAppender.File= $${catalina.base}/logs/${webapp.name}.all.log
 log4j.appender.AllAppender.MaxFileSize=10MB 
 log4j.appender.AllAppender.MaxBackupIndex=10 
 log4j.appender.AllAppender.layout=org.apache.log4j.PatternLayout 
diff --git a/solr/src/main/resources/log4j.properties b/solr/src/main/resources/log4j.properties
index 93839409e..342cef918 100644
--- a/solr/src/main/resources/log4j.properties
+++ b/solr/src/main/resources/log4j.properties
@@ -1,5 +1,5 @@
 log4j.appender.AllAppender=org.apache.log4j.RollingFileAppender 
-log4j.appender.AllAppender.File= ${catalina.home}/logs/solr.log
+log4j.appender.AllAppender.File= ${catalina.base}/logs/solr.log
 log4j.appender.AllAppender.MaxFileSize=10MB 
 log4j.appender.AllAppender.MaxBackupIndex=10 
 log4j.appender.AllAppender.layout=org.apache.log4j.PatternLayout 

From 6db6fabdac1cbb9e5bd0be70aeb96c9275007c35 Mon Sep 17 00:00:00 2001
From: Steve McKay 
Date: Sun, 30 Apr 2017 08:11:10 -0400
Subject: [PATCH 2/3] [VIVO-1315] Plum print integration (#57)

---
 .../individual/IndividualResponseBuilder.java | 23 ++++++++++++++++++-
 .../individual/individual-property-groups.css |  2 +-
 2 files changed, 23 insertions(+), 2 deletions(-)

diff --git a/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualResponseBuilder.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualResponseBuilder.java
index 3ac23858d..098d8d7c9 100644
--- a/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualResponseBuilder.java
+++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualResponseBuilder.java
@@ -6,7 +6,6 @@ import java.io.IOException;
 import java.sql.SQLException;
 import java.util.HashMap;
 import java.util.Map;
-import java.util.Properties;
 
 import org.apache.jena.rdf.model.RDFNode;
 import edu.cornell.mannlib.vitro.webapp.web.templatemodels.individual.IndividualTemplateModelBuilder;
@@ -88,6 +87,7 @@ class IndividualResponseBuilder {
 		body.put("verbosePropertySwitch", getVerbosePropertyValues());
 
         addAltMetricOptions(body);
+        addPlumPrintOptions(body);
 
 		//Execute data getters that might apply to this individual, e.g. because of the class of the individual
 		try{
@@ -202,6 +202,27 @@ class IndividualResponseBuilder {
         }
     }
 
+    private void addPlumPrintOptions(Map body) {
+        ConfigurationProperties properties = ConfigurationProperties.getBean(vreq);
+
+        if (properties != null) {
+            String enabled = properties.getProperty("resource.plum-print", "enabled");
+            String displayTo = properties.getProperty("resource.plum-print.displayto", "right");
+            String printHideEmpty = properties.getProperty("resource.plum-print.hide-when-empty", "true");
+            String printPopover = properties.getProperty("resource.plum-print.popover", "right");
+            String printSize = properties.getProperty("resource.plum-print.size", "medium");
+
+            if (!"disabled".equalsIgnoreCase(enabled)) {
+                body.put("plumPrintEnabled", true);
+
+                body.put("plumPrintDisplayTo", displayTo);
+                body.put("plumPrintHideEmpty", "true".equalsIgnoreCase(printHideEmpty) ? "true" : "false");
+                body.put("plumPrintPopover", printPopover);
+                body.put("plumPrintSize", printSize);
+            }
+        }
+    }
+
 	private boolean getTemporalVisualizationFlag() {
 		String property = ConfigurationProperties.getBean(vreq).getProperty(
 				"visualization.temporal");
diff --git a/webapp/src/main/webapp/css/individual/individual-property-groups.css b/webapp/src/main/webapp/css/individual/individual-property-groups.css
index 7b97e5d4b..c3ce68ca2 100644
--- a/webapp/src/main/webapp/css/individual/individual-property-groups.css
+++ b/webapp/src/main/webapp/css/individual/individual-property-groups.css
@@ -19,7 +19,7 @@ section.property-group h2 {
    top: 8px; /* changed for redesign, was 0 */
    right: 12px; /* changed for redesign, was -21px;*/
 }
-section.property-group div {
+section.property-group > div {
     margin-top:15px;
 /*    display:none; */
 }

From b2086c9517a4d0d9338ee126fa43cb28b3f95d4a Mon Sep 17 00:00:00 2001
From: Graham Triggs 
Date: Sun, 30 Apr 2017 18:17:53 +0100
Subject: [PATCH 3/3] Default PlumX to being disabled, as the spacing throws
 out the article display.

---
 .../webapp/controller/individual/IndividualResponseBuilder.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualResponseBuilder.java b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualResponseBuilder.java
index 098d8d7c9..b73b7b50b 100644
--- a/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualResponseBuilder.java
+++ b/api/src/main/java/edu/cornell/mannlib/vitro/webapp/controller/individual/IndividualResponseBuilder.java
@@ -206,7 +206,7 @@ class IndividualResponseBuilder {
         ConfigurationProperties properties = ConfigurationProperties.getBean(vreq);
 
         if (properties != null) {
-            String enabled = properties.getProperty("resource.plum-print", "enabled");
+            String enabled = properties.getProperty("resource.plum-print", "disabled");
             String displayTo = properties.getProperty("resource.plum-print.displayto", "right");
             String printHideEmpty = properties.getProperty("resource.plum-print.hide-when-empty", "true");
             String printPopover = properties.getProperty("resource.plum-print.popover", "right");